Contrainte de numéro de téléphone dans SQL Server

Contrainte pour le numéro de téléphone à 7 chiffres. Comment faire pour vérifier si il est de 7 chiffres dans SQL Server?

CREATE TABLE Customer
(
    C_ID INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
    C_Name VARCHAR(255) NOT NULL,
    Phone INT 
);
  • Vous n'avez pas besoin de stocker les numéros de téléphone que les nombres entiers. Vous ne serez jamais à faire des mathématiques sur les numéros de téléphone. Les stocker en tant que varchar. Vous pouvez facilement ajouter une contrainte à vérifier LEN = 7 et la valeur aime pas '^[0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
  • essayez décimal(7,0) qui trows erreur pour stocker plus de longueur
  • il a travaillé avec Téléphone VARCHAR VÉRIFIER(DATALENGTH(Téléphone)=7)
  • Vous pouvez le faire CHAR(7), mais je pense que votre choix de contrainte est une mauvaise idée en premier lieu. Aux états-unis, par exemple, les numéros de téléphone sont en réalité de 10 chiffres avec les trois premiers étant facultatif. Lorsque vous traitez avec les pays étrangers, vous pouvez stocker le code de pays avec cependant de nombreux chiffres le nombre est.
  • Ce qui se passe quand un Australien personne veut enregistrer leur numéro de téléphone? Dans ce pays, les numéros de téléphone peut comporter jusqu'à 8 caractères.
InformationsquelleAutor Serena Gale | 2016-03-16