Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So formatieren Sie eine numerische Spalte als Telefonnummer in SQL

Das sollte es tun:

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

Wenn Sie den Vorschlag von Kane eingearbeitet haben, können Sie die Formatierung der Telefonnummer zur Laufzeit berechnen. Ein möglicher Ansatz wäre die Verwendung von Skalarfunktionen für diesen Zweck (funktioniert in 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