SQL FORMAT() es una función incorporada que se utiliza para formatear un valor con el formato especificado. La función FORMAT() se utiliza con valores de fecha/hora y valores numéricos. La función SQL FORMAT() formatea el valor con el formato especificado (y un cultivo opcional en SQL Server 2017). Utilice la función FORMAT() para formatear valores de fecha/hora y valores numéricos.
Función SQL Format
SQL Formatea un valor con el formato especificado y una cultura opcional. Utilice la función FORMAT para formatear valores de fecha/hora y numéricos como cadenas con conocimiento de la cultura local. Para conversiones generales de tipos de datos, utilice CAST o CONVERT.
Sintaxis
SELECT FORMAT (value, format, culture);
Parámetros:
- Valor: La expresión a la que hay que dar formato.
- Formato: El patrón en el que se ha de formatear la expresión.
- Cultura: Es totalmente opcional; especifica la cultura.
Vea el siguiente ejemplo.
DECLARE @d DATETIME = '28/10/2019'; SELECT FORMAT (@d, 'd', 'en-US') AS 'US English Result', FORMAT (@d, 'd', 'no') AS 'Norwegian Result', FORMAT (@d, 'd', 'zu') AS 'Zulu Result', FORMAT ( @d, 'd', 'en-gb' ) AS 'Great Britain English Result', FORMAT ( @d, 'd', 'de-de' ) AS 'German Result', FORMAT ( @d, 'd', 'zh-cn' ) AS 'Simplified Chinese (PRC) Result';
Vea la salida.
Ejemplo 2:
Vea el siguiente código.
DECLARE @d DATETIME = '10/28/2019'; SELECT FORMAT ( @d, 'D', 'en-US' ) AS 'US English Result' ,FORMAT ( @d, 'D', 'en-gb' ) AS 'Great Britain English Result' ,FORMAT ( @d, 'D', 'de-de' ) AS 'German Result' ,FORMAT ( @d, 'D', 'zh-cn' ) AS 'Chinese (Simplified PRC) Result';
Vea la salida.
Veamos los tipos de formato personalizados.
DECLARE @d DATETIME = GETDATE(); SELECT FORMAT( @d, 'dd/MM/yyyy', 'en-US' ) AS 'DateTime Result' ,FORMAT(123456789,'###-##-####') AS 'Custom Number Result';
Vea la salida.
#Ejemplo de formato de fecha en SQL
En este ejemplo, primero declaramos una variable Datetime y le asignamos GETDATE(). Aquí, vamos a utilizar la función Format para devolver la fecha en diferentes formatos.
Vea el siguiente ejemplo de código.
DECLARE @Vardate DATETIME = GETDATE() SELECT FORMAT(@Vardate, 'd', 'en-US' ) AS 'Result 1', FORMAT(@Vardate, 'D', 'en-US' ) AS 'Result 2'SELECT FORMAT(@Vardate, 'f', 'en-US' ) AS 'Result 3', FORMAT(@Vardate, 'F', 'en-US' ) AS 'Result 4'SELECT FORMAT(@Vardate, 'g', 'en-US' ) AS 'Result 5', FORMAT(@Vardate, 'G', 'en-US' ) AS 'Result 6'SELECT FORMAT(@Vardate, 'm', 'en-US' ) AS 'Result 7', FORMAT(@Vardate, 'M', 'en-US' ) AS 'Result 8'SELECT FORMAT(@Vardate, 'O', 'en-US' ) AS 'Result 9', FORMAT(@Vardate, 'R', 'en-US' ) AS 'Result 10'SELECT FORMAT(@Vardate, 's', 'en-US' ) AS 'Result 11', FORMAT(@Vardate, 'S', 'en-US' ) AS 'Result 12'SELECT FORMAT(@Vardate, 't', 'en-US' ) AS 'Result 13', FORMAT(@Vardate, 'T', 'en-US' ) AS 'Result 14'SELECT FORMAT(@Vardate, 'u', 'en-US' ) AS 'Result 15', FORMAT(@Vardate, 'U', 'en-US' ) AS 'Result 16'SELECT FORMAT(@Vardate, 'Y', 'en-US' ) AS 'Result 17'
Vea la salida.
#Formato SQL de fecha usando cultura
En este ejemplo, vamos a utilizar el tercer argumento de la función de formato, la cultura.
Con esto, puede mostrar el nombre del mes, o el nombre del día en el idioma nativo – algo así como, Nombre del día en J hindi, ruso, coreano, japonés, chineses, etc.
Vea la siguiente consulta.
DECLARE @Vardate DATETIME = GETDATE() SELECT FORMAT(@Vardate, 'dd', 'en-US' ) AS 'Result 1', FORMAT(@Vardate, 'dddd', 'hi-IN' ) AS 'Result 2'SELECT FORMAT(@Vardate, 'd', 'de-DE' ) AS 'Result 3', FORMAT(@Vardate, 'dddd', 'ru-RU' ) AS 'Result 4'SELECT FORMAT(@Vardate, 'M', 'en-US' ) AS 'Result 5', FORMAT(@Vardate, 'MMMM', 'hi-IN' ) AS 'Result 6'SELECT FORMAT(@Vardate, 'MM', 'de-DE' ) AS 'Result 7', FORMAT(@Vardate, 'MMMM', 'ru-RU' ) AS 'Result 8'SELECT FORMAT(@Vardate, 'yy', 'en-US' ) AS 'Result 9', FORMAT(@Vardate, 'y', 'hi-IN' ) AS 'Result 10'SELECT FORMAT(@Vardate, 'yyyy', 'de-DE' ) AS 'Result 11', FORMAT(@Vardate, 'y', 'ru-RU' ) AS 'Result 12'
Vea la salida.
#SQL Server Format Currency using Culture
En este ejemplo, vamos a formatear los valores de la moneda en función de la cultura especificada.
DECLARE @Sales INT = 1111 SELECT FORMAT(@Sales, 'c', 'en-US' ) AS 'USA Currency'SELECT FORMAT(@Sales, 'c', 'ru-RU' ) AS 'Russian Currency'SELECT FORMAT(@Sales, 'c', 'hi-IN' ) AS 'Indian Currency'SELECT FORMAT(@Sales, 'c', 'de-DE' ) AS 'Indian Currency'
Vea la salida.
Finalmente, el Tutorial de Cómo Formatear la Función en SQL Server ha terminado.
Post recomendados
Función Replicate de SQL Server
Función LTRIM de SQL Server
Función Lower() en MySQL y SQL Server
Función Left de SQL Server
Función DIFFERENCE de SQL Server