sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo formatear una columna numérica como número de teléfono en SQL

Esto debería hacerlo:

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

Incorporada la sugerencia de Kane, puede calcular el formato del número de teléfono en tiempo de ejecución. Un posible enfoque sería usar funciones escalares para este propósito (funciona en 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