Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle DB - Задаване на входно число на точна дължина

Задайте типа данни за тази колона на varchar(11) . Ако трябва да бъде точно 11 знака всеки път, ограничението за проверка ще гарантира, че:check (length(phone_no) = 11) . За да гарантирате дължина и "цифровост" (всички цифри, без букви), използвайте

check (length(phone_no) = 11 and 
       regexp_like(phone_no, '^[[:digit:]]{11}$')
)

Ако трябва да използвате числов тип - и това е лоша идея - най-добрият ви залог вероятно е numeric(11,0).

Ограничението за проверка може да ви помогне да ограничите диапазона на валиден вход, но нито един цифров тип не съхранява водещи нули. Ще трябва да прескачате през ненужни и избегнати обръчи, ако нещо като 00125436754 е валиден телефонен номер.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Защо тази проверка за нулев асоциативен масив в PL/SQL е неуспешна?

  2. Върна ми курсора в моята функция на oracle PL/SLQ, но не всички редове се връщат. Можете ли да върнете само 1 ред във функция на Oracle pl/sql?

  3. Spring JDBC Не можа да зареди клас JDBC драйвер [oracle.jdbc.driver.OracleDriver]

  4. Как да декларирам и използвам променливи в PL/SQL, както правя в T-SQL?

  5. Свържете се с базата данни на Oracle в приложението dotnet mvc