Задайте типа данни за тази колона на varchar(11)
. Ако трябва да бъде точно 11 знака всеки път, ограничението за проверка ще гарантира, че:check (length(phone_no) = 11)
. За да гарантирате дължина и "цифровост" (всички цифри, без букви), използвайте
check (length(phone_no) = 11 and
regexp_like(phone_no, '^[[:digit:]]{11}$')
)
Ако трябва да използвате числов тип - и това е лоша идея - най-добрият ви залог вероятно е numeric(11,0).
Ограничението за проверка може да ви помогне да ограничите диапазона на валиден вход, но нито един цифров тип не съхранява водещи нули. Ще трябва да прескачате през ненужни и избегнати обръчи, ако нещо като 00125436754
е валиден телефонен номер.