sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man formaterar en numerisk kolumn som telefonnummer i SQL

Detta borde göra det:

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

Med Kanes förslag kan du beräkna telefonnumrets formatering under körning. Ett möjligt tillvägagångssätt skulle vara att använda skalära funktioner för detta ändamål (fungerar i 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


  1. Ett bättre sätt att analysera heltalsvärden från en T-SQL-avgränsad sträng

  2. Fel:Den här funktionen är inte tillgänglig för databasen du använder

  3. värde för långt för typ tecken varierande (100)----nyligen bytte databas, gjorde ingenting i db

  4. PHP konverterar datetime till sekunder