Indstil datatypen for den kolonne til varchar(11)
. Hvis det skal være nøjagtigt 11 tegn hver gang, vil en kontrolbegrænsning garantere, at:check (length(phone_no) = 11)
. For at garantere længde og "numeralitet" (alle cifre, ingen bogstaver), brug
check (length(phone_no) = 11 and
regexp_like(phone_no, '^[[:digit:]]{11}$')
)
Hvis du skal bruge en numerisk type - og det er en dårlig idé - er dit bedste bud sandsynligvis numerisk(11,0).
En kontrolbegrænsning kan hjælpe dig med at begrænse rækkevidden af gyldige input, men ingen numeriske typer gemmer indledende nuller. Du bliver nødt til at springe gennem unødvendige og undgåelige bøjler, hvis noget som 00125436754
er et gyldigt telefonnummer.