Saltar al contenido principal
InicioTutorialesSQL

FUNCIÓN SQL FORMAT()

FORMAT() es una de las funciones más utilizadas en SQL. Conozca sus principales aplicaciones en este tutorial.
3 may 2024  · 3 min leer

¿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?

Value

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

SELECT
   FORMAT(0112223333, ‘##-###-####') -- replace format with what is shown in the table below.
 

phone_number

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

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 @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)

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.

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)

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.

Ver también

Más información sobre SQL

Temas

Cursos populares de SQL

Course

Introduction to SQL

2 hr
803.9K
Learn how to create and query relational databases using SQL in just two hours.
See DetailsRight Arrow
Start Course
Ver másRight Arrow
Relacionado

tutorial

FUNCIÓN SQL COUNT()

COUNT() te permite contar el número de filas que cumplen determinadas condiciones. Aprende a utilizarlo en este tutorial.
Travis Tang 's photo

Travis Tang

3 min

tutorial

Función SQL COALESCE

COALESCE() es una de las funciones más útiles de SQL. Lee este tutorial para aprender a dominarlo.
Travis Tang 's photo

Travis Tang

4 min

tutorial

FUNCIÓN SQL DATEDIFF()

DATEDIFF() es una de las funciones de manipulación de datos de fecha más utilizadas en SQL. Conviértete en un experto leyendo este tutorial.
Travis Tang 's photo

Travis Tang

3 min

tutorial

Ejemplos y tutoriales de consultas SQL

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
Sejal Jaiswal's photo

Sejal Jaiswal

21 min

tutorial

Tutorial de cálculo de Power BI

Aprenda a utilizar la función CALCULAR de Power BI con ejemplos de uso.
Joleen Bothma's photo

Joleen Bothma

6 min

tutorial

Comprender la función DECODE() de SQL

Aprende a utilizar DECODE() en Oracle para la lógica condicional en la transformación de datos. Compara DECODE() con la sentencia CASE WHEN en cuanto a rendimiento y comportamiento.
Allan Ouko's photo

Allan Ouko

11 min

See MoreSee More