Définissez le type de données de cette colonne sur varchar(11)
. S'il doit contenir exactement 11 caractères à chaque fois, une contrainte de vérification garantira que :check (length(phone_no) = 11)
. Pour garantir la longueur et la "numéralité" (tous les chiffres, pas de lettres), utilisez
check (length(phone_no) = 11 and
regexp_like(phone_no, '^[[:digit:]]{11}$')
)
Si vous devez utiliser un type numérique - et c'est une mauvaise idée - votre meilleur pari est probablement numeric(11,0).
Une contrainte de vérification peut vous aider à restreindre la plage d'entrées valides, mais aucun type numérique ne stocke de zéros non significatifs. Vous devrez sauter à travers des cerceaux inutiles et évitables si quelque chose comme 00125436754
est un numéro de téléphone valide.