Curso
¿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() syntax
FORMAT(value, format[, culture])
|
Parámetro |
¿Qué es? |
|
|
Un parámetro obligatorio que hace referencia a la columna que debe formatearse |
|
|
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 |
|
|
Un parámetro opcional que especifica el formato local de la fecha/hora. |
FORMAT() ejemplos
Ejemplo 1: Formato de variables numéricas
SELECT
FORMAT(0112223333, ‘##-###-####') -- replace format with what is shown in the table below.
|
|
|
|
0 |
11-222-3333 |
Ejemplo 2: Formato de fecha y hora
Podemos formatear una variable de formato datetime en diferentes formatos.
DECLARE @d DATETIME = CAST('2023-02-01 04:05:06' AS DATETIME);
SELECT
FORMAT(@d, format) -- replace format with what is shown in the table below.
|
Formato |
Consulta |
Ejemplo de fecha formateada para el 1 de febrero de 2023 04:05:06 AM |
|
d |
|
2/1/2023 |
|
D |
|
Miércoles, 1 de febrero de 2023 |
|
f |
|
Miércoles, Febrero 1, 2023 4:05 AM |
|
F |
|
Miércoles, Febrero 1, 2023 4:05:06 AM |
|
g |
|
10/8/2022 6:01 AM |
|
G |
|
10/8/2022 6:01:06 AM |
|
O |
|
2022-10-08T06:01:06.117Z |
|
r |
|
Wed, 01 Feb 2023 04:05:06 GMT |
|
R |
|
Wed, 01 Feb 2023 04:05:06 GMT |
|
s |
|
2023-02-01T04:05:06 |
|
u |
|
2023-02-01 04:05:06Z |
|
U |
|
Miércoles, Febrero 1, 2023 4:05:06 AM |
|
t |
|
4:05 AM |
|
T |
|
4:05:06 AM |
|
Y |
|
Febrero de 2023 |
|
MM_dd_yyyy |
|
02_01_2023 |
|
MMM-dd-aa |
|
Feb 01 23 |
|
yyyy-dd-MM |
|
2023-01-02 |
|
aaaa-dd-MM hh.mm |
|
2023-01-02 04.05 |
|
aaaa-dd-MM hh.mm.ss |
|
2023-01-02 04.05.06 |
|
aaaa-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 @d DATE = CAST('2023-02-01' AS DATE);
SELECT
FORMAT(@d, format, culture) -- replace format with what is shown in the table below.
|
Cultura |
Consulta |
Ejemplo de formato de fecha para el 1 de febrero de 2023 |
|
Inglés estadounidense (en-US) |
|
2/1/2023 |
|
|
Miércoles, 1 de febrero de 2023 12:00 AM |
|
|
Gran Bretaña Inglés (en-gb) |
|
01/02/2023 |
|
|
01 febrero 2023 00:00 |
|
|
Alemán (de-de) |
|
01.02.2023 |
|
|
Mittwoch, 1. Febrero 2023 00:00 |
|
|
Chino (zh-cn) |
|
2023/2/1 |
|
|
2023年2月1日 0:00 |
|
|
Indio (hi-in) |
|
01-02-0203 |
|
|
01 फरवरी 2023 00:00 |
|
|
Ruso (ru-ru) |
|
01-02-2023 |
|
|
1 февраля 2023 г. 0:00 |
|
|
España (gl-es) |
|
01/02/2023 |
|
|
mércores 01 febreiro 2023 00:00 |
Ejemplo 4: Formatear la moneda
También podemos formatear cómodamente valores numéricos en divisas.
SELECT
FORMAT(amount, 'c', culture) -- replace format with what is shown in the table below.
|
Cultura |
Consulta |
Ejemplo de moneda formateada |
|
Inglés estadounidense (en-US) |
|
$5.5 |
|
Gran Bretaña Inglés (en-gb) |
|
£5.5 |
|
Alemán (de-de) |
|
5,50 € |
|
Chino (zh-cn) |
|
¥5.50 |
|
Indio (hi-in) |
|
₹5.50 |
|
Ruso (ru-ru) |
|
5,50 ₽ |
|
España (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.