Un parámetro obligatorio que hace referencia a la columna que debe formatearse
Format
Un parámetro obligatorio que especifica el patrón de formato del valor. Debe contener una cadena de formato .NET de valor. En los siguientes ejemplos ilustraremos los distintos formatos permitidos
Culture
Un parámetro opcional que especifica el formato local de la fecha/hora.
FORMAT() ejemplos
Ejemplo 1: Formato de variables numéricas
SELECTFORMAT(0112223333, ‘##-###-####') -- replace format with what is shown in the table below.Con la tecnología de
phone_number
0
11-222-3333
Ejemplo 2: Formato de fecha y hora
Podemos formatear una variable de formato datetime en diferentes formatos.
DECLARE@dDATETIME= CAST('2023-02-01 04:05:06'ASDATETIME);SELECTFORMAT(@d, format)-- replace format with what is shown in the table below.Con la tecnología de
Formato
Consulta
Ejemplo de fecha formateada para el 1 de febrero de 2023 04:05:06 AM
d
FORMAT(@d, ‘d')
2/1/2023
D
FORMAT(@d, D)
Miércoles, 1 de febrero de 2023
f
FORMAT(@d, ‘f')
Miércoles, Febrero 1, 2023 4:05 AM
F
FORMAT(@d, ‘F')
Miércoles, Febrero 1, 2023 4:05:06 AM
g
FORMAT(@d, ‘g')
10/8/2022 6:01 AM
G
FORMAT(@d, ‘G')
10/8/2022 6:01:06 AM
O
FORMAT(@d, ‘O')
2022-10-08T06:01:06.117Z
r
FORMAT(@d, ‘r')
Wed, 01 Feb 2023 04:05:06 GMT
R
FORMAT(@d, ‘R')
Wed, 01 Feb 2023 04:05:06 GMT
s
FORMAT(@d, ‘s')
2023-02-01T04:05:06
u
FORMAT(@d, ‘u')
2023-02-01 04:05:06Z
U
FORMAT(@d, ‘U')
Miércoles, Febrero 1, 2023 4:05:06 AM
t
FORMAT(@d, ‘t')
4:05 AM
T
FORMAT(@d, ‘T')
4:05:06 AM
Y
FORMAT(@d, ‘Y')
Febrero de 2023
MM_dd_yyyy
FORMAT(@d, ‘MM_dd_yyyy')
02_01_2023
MMM-dd-aa
FORMAT(@d,'MMM-dd-yy')
Feb 01 23
yyyy-dd-MM
FORMAT(@d,'yyyy-dd-MM')
2023-01-02
aaaa-dd-MM hh.mm
FORMAT(@d,'yyyy-dd-MM hh.mm')
2023-01-02 04.05
aaaa-dd-MM hh.mm.ss
FORMAT(@d,'yyyy-dd-MM hh.mm.ss')
2023-01-02 04.05.06
aaaa-dd-MM hh.mm.ss tt
FORMAT(@d,'yyyy-dd-MM hh.mm.ss tt')
2023-01-02 04.05.06 HORAS
Ejemplo 3: Formato de fecha según la cultura
Podemos formatear fechas en diferentes idiomas con el parámetro culture.
DECLARE@dDATE= CAST('2023-02-01'ASDATE);SELECTFORMAT(@d, format, culture)-- replace format with what is shown in the table below.Con la tecnología de
Cultura
Consulta
Ejemplo de formato de fecha para el 1 de febrero de 2023
Inglés estadounidense (en-US)
FORMAT(@d, 'd', 'en-US')
2/1/2023
FORMAT(@d, 'f', 'en-US')
Miércoles, 1 de febrero de 2023 12:00 AM
Gran Bretaña Inglés (en-gb)
FORMAT(@d, 'd', 'en-gb')
01/02/2023
FORMAT(@d, 'f', 'en-gb')
01 febrero 2023 00:00
Alemán (de-de)
FORMAT(@d, 'd', 'de-de')
01.02.2023
FORMAT(@d, 'f', 'de-de')
Mittwoch, 1. Febrero 2023 00:00
Chino (zh-cn)
FORMAT(@d, 'd', 'zh-cn')
2023/2/1
FORMAT(@d, 'f', 'zh-cn')
2023年2月1日 0:00
Indio (hi-in)
FORMAT(@d, 'd', ‘hi-in')
01-02-0203
FORMAT(@d, 'f', ‘hi-in')
01 फरवरी 2023 00:00
Ruso (ru-ru)
FORMAT(@d, 'd', ru-ru')
01-02-2023
FORMAT(@d, 'f', ru-ru')
1 февраля 2023 г. 0:00
España (gl-es)
FORMAT(@d, 'd', 'gl-es')
01/02/2023
FORMAT(@d, 'f', 'gl-es')
mércores 01 febreiro 2023 00:00
Ejemplo 4: Formatear la moneda
También podemos formatear cómodamente valores numéricos en divisas.
SELECTFORMAT(amount,'c', culture)-- replace format with what is shown in the table below.Con la tecnología de
Cultura
Consulta
Ejemplo de moneda formateada
Inglés estadounidense (en-US)
SELECT
FORMAT(5.5, 'c', 'en-US')
$5.5
Gran Bretaña Inglés (en-gb)
SELECT
FORMAT(@d, 'c', 'en-gb')
£5.5
Alemán (de-de)
SELECT
FORMAT(@d, 'c', 'de-de')
5,50 €
Chino (zh-cn)
SELECT
FORMAT(@d, 'c', 'zh-cn')
¥5.50
Indio (hi-in)
SELECT
FORMAT(@d, 'c', ‘hi-in')
₹5.50
Ruso (ru-ru)
SELECT
FORMAT(@d, 'c', ru-ru')
5,50 ₽
España (gl-es)
SELECT
FORMAT(@d, 'c', 'gl-es')
€5,50
Requisitos técnicos
FORMAT() funciona en SQL Server (a partir de 2012), Azure SQL Database. FORMAT() también funciona en PostgreSQL, pero se comporta de forma diferente. Puede obtener más información en este curso.
Si quiere iniciarse en SQL, nosotros le ayudamos. En este tutorial de SQL, le presentaremos las consultas SQL, una potente herramienta que nos permite trabajar con los datos almacenados en una base de datos. Verá cómo escribir consultas SQL, aprenderá sobre
¿Qué es el
FORMAT()¿función?FORMAT()convierte números o fechas en texto, con reglas para su visualización.Cuándo utilizar
FORMAT()FORMAT()resulta útil para mostrar fechas, divisas y valores numéricos en un formato específico.FORMAT()syntaxParámetro
¿Qué es?
ValueUn parámetro obligatorio que hace referencia a la columna que debe formatearse
FormatUn parámetro obligatorio que especifica el patrón de formato del valor. Debe contener una cadena de formato .NET de valor. En los siguientes ejemplos ilustraremos los distintos formatos permitidos
CultureUn parámetro opcional que especifica el formato local de la fecha/hora.
FORMAT()ejemplosEjemplo 1: Formato de variables numéricas
phone_number0
11-222-3333
Ejemplo 2: Formato de fecha y hora
Podemos formatear una variable de formato datetime en diferentes formatos.
Formato
Consulta
Ejemplo de fecha formateada para el 1 de febrero de 2023 04:05:06 AM
d
FORMAT(@d, ‘d')2/1/2023
D
FORMAT(@d, D)Miércoles, 1 de febrero de 2023
f
FORMAT(@d, ‘f')Miércoles, Febrero 1, 2023 4:05 AM
F
FORMAT(@d, ‘F')Miércoles, Febrero 1, 2023 4:05:06 AM
g
FORMAT(@d, ‘g')10/8/2022 6:01 AM
G
FORMAT(@d, ‘G')10/8/2022 6:01:06 AM
O
FORMAT(@d, ‘O')2022-10-08T06:01:06.117Z
r
FORMAT(@d, ‘r')Wed, 01 Feb 2023 04:05:06 GMT
R
FORMAT(@d, ‘R')Wed, 01 Feb 2023 04:05:06 GMT
s
FORMAT(@d, ‘s')2023-02-01T04:05:06
u
FORMAT(@d, ‘u')2023-02-01 04:05:06Z
U
FORMAT(@d, ‘U')Miércoles, Febrero 1, 2023 4:05:06 AM
t
FORMAT(@d, ‘t')4:05 AM
T
FORMAT(@d, ‘T')4:05:06 AM
Y
FORMAT(@d, ‘Y')Febrero de 2023
MM_dd_yyyy
FORMAT(@d, ‘MM_dd_yyyy')02_01_2023
MMM-dd-aa
FORMAT(@d,'MMM-dd-yy')Feb 01 23
yyyy-dd-MM
FORMAT(@d,'yyyy-dd-MM')2023-01-02
aaaa-dd-MM hh.mm
FORMAT(@d,'yyyy-dd-MM hh.mm')2023-01-02 04.05
aaaa-dd-MM hh.mm.ss
FORMAT(@d,'yyyy-dd-MM hh.mm.ss')2023-01-02 04.05.06
aaaa-dd-MM hh.mm.ss tt
FORMAT(@d,'yyyy-dd-MM hh.mm.ss tt')2023-01-02 04.05.06 HORAS
Ejemplo 3: Formato de fecha según la cultura
Podemos formatear fechas en diferentes idiomas con el parámetro culture.
Cultura
Consulta
Ejemplo de formato de fecha para el 1 de febrero de 2023
Inglés estadounidense (en-US)
FORMAT(@d, 'd', 'en-US')2/1/2023
FORMAT(@d, 'f', 'en-US')Miércoles, 1 de febrero de 2023 12:00 AM
Gran Bretaña Inglés (en-gb)
FORMAT(@d, 'd', 'en-gb')01/02/2023
FORMAT(@d, 'f', 'en-gb')01 febrero 2023 00:00
Alemán (de-de)
FORMAT(@d, 'd', 'de-de')01.02.2023
FORMAT(@d, 'f', 'de-de')Mittwoch, 1. Febrero 2023 00:00
Chino (zh-cn)
FORMAT(@d, 'd', 'zh-cn')2023/2/1
FORMAT(@d, 'f', 'zh-cn')2023年2月1日 0:00
Indio (hi-in)
FORMAT(@d, 'd', ‘hi-in')01-02-0203
FORMAT(@d, 'f', ‘hi-in')01 फरवरी 2023 00:00
Ruso (ru-ru)
FORMAT(@d, 'd', ru-ru')01-02-2023
FORMAT(@d, 'f', ru-ru')1 февраля 2023 г. 0:00
España (gl-es)
FORMAT(@d, 'd', 'gl-es')01/02/2023
FORMAT(@d, 'f', 'gl-es')mércores 01 febreiro 2023 00:00
Ejemplo 4: Formatear la moneda
También podemos formatear cómodamente valores numéricos en divisas.
Cultura
Consulta
Ejemplo de moneda formateada
Inglés estadounidense (en-US)
SELECTFORMAT(5.5, 'c', 'en-US')$5.5
Gran Bretaña Inglés (en-gb)
SELECTFORMAT(@d, 'c', 'en-gb')£5.5
Alemán (de-de)
SELECTFORMAT(@d, 'c', 'de-de')5,50 €
Chino (zh-cn)
SELECTFORMAT(@d, 'c', 'zh-cn')¥5.50
Indio (hi-in)
SELECTFORMAT(@d, 'c', ‘hi-in')₹5.50
Ruso (ru-ru)
SELECTFORMAT(@d, 'c', ru-ru')5,50 ₽
España (gl-es)
SELECTFORMAT(@d, 'c', 'gl-es')€5,50
Requisitos técnicos
FORMAT()funciona en SQL Server (a partir de 2012), Azure SQL Database.FORMAT()también funciona en PostgreSQL, pero se comporta de forma diferente. Puede obtener más información en este curso.Ver también
Más información sobre SQL