sql >> Database >  >> RDS >> Sqlserver

Hoe een numerieke kolom op te maken als telefoonnummer in SQL

Dit zou het moeten doen:

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

Met de suggestie van Kane kunt u de opmaak van het telefoonnummer tijdens runtime berekenen. Een mogelijke benadering zou zijn om hiervoor scalaire functies te gebruiken (werkt 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


  1. Een primaire mysql-sleutel maken zonder een geclusterde index?

  2. Database-ontwerp:samengestelde sleutel versus primaire sleutel met één kolom

  3. jQuery AJAX get MySQL-gegevens retourneert het geheel van index.html

  4. PL/SQL-functie in Oracle kan DBMS_AQ niet zien