Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment formater une colonne numérique en tant que numéro de téléphone en SQL

Cela devrait le faire :

UPDATE TheTable
SET PhoneNumber = SUBSTRING(PhoneNumber, 1, 3) + '-' + 
                  SUBSTRING(PhoneNumber, 4, 3) + '-' + 
                  SUBSTRING(PhoneNumber, 7, 4)

Incorporé la suggestion de Kane, vous pouvez calculer le formatage du numéro de téléphone lors de l'exécution. Une approche possible serait d'utiliser des fonctions scalaires à cette fin (fonctionne dans SQL Server) :

CREATE FUNCTION FormatPhoneNumber(@phoneNumber VARCHAR(10))
RETURNS VARCHAR(12)
BEGIN
    RETURN SUBSTRING(@phoneNumber, 1, 3) + '-' + 
           SUBSTRING(@phoneNumber, 4, 3) + '-' + 
           SUBSTRING(@phoneNumber, 7, 4)
END