Ställ in datatypen för den kolumnen till varchar(11)
. Om det måste vara exakt 11 tecken varje gång kommer en kontrollbegränsning att garantera att:check (length(phone_no) = 11)
. För att garantera längd och "numeralitet" (alla siffror, inga bokstäver), använd
check (length(phone_no) = 11 and
regexp_like(phone_no, '^[[:digit:]]{11}$')
)
Om du måste använda en numerisk typ - och detta är en dålig idé - är din bästa insats förmodligen numerisk(11,0).
En kontrollbegränsning kan hjälpa dig att begränsa intervallet för giltig inmatning, men inga numeriska typer lagrar inledande nollor. Du måste hoppa igenom onödiga och undvikande ringar om något som 00125436754
är ett giltigt telefonnummer.