lunes, julio 27, 2026

Format en SQL Server (Transact-SQL)

La función Format aplica desde SQL Server 2012 en adelante. Retorna un valor con el formato previamente indicado. Se puede utilizar para definir el formato de una fecha y hora o para retornar un numero como varchar en un formato específico.

La forma de utilizarlo es: FORMAT(valor, formato, [cultura (opcional)])

El parámetro «valor» es el valor que quieres formatear, debe ser un dato compatible con la función. El formato es precisamente como queremos nuestro resultado (ej. «C», «D», «g», «dd/MM/yyyy»), basicamente igual a como se utiliza la funcion Format en .Net. Cultura es un valor opcional, todavia no lo he utilizado pero es para obtener el resultado en nuestro propio idioma o lenguaje.

Cuales tipos de dato podemos envía en el campo valor?
bigint, int, smallint, tinyint, decimal, numeric, float, real, smallmoney, money, date, time, datetime, smalldatetime, datetime2, datetimeoffset.

Resultado con formato personalizado (ver tipos de cadenas con formato)

DECLARE @d DATETIME = GETDATE();

SELECT FORMAT(@d, 'dd/MM/yyyy') 'Custom DateTime',
	   FORMAT(@d, 'dd/MM/yyyy hh:mm:ss tt') 'Custom DateTime 2',
	   FORMAT(@d, 'dd/MM/yyyy HH:mm:ss') 'Custom 3 (24 horas)'

SELECT FORMAT(123456789,'(###)-##-####') AS 'Teléfono',
       FORMAT(10,'##.00%') AS 'Porcentaje',
       FORMAT(100,'00000.00') AS 'Numerico 1',
       FORMAT(1000000.00,'##,###.00') AS 'Numerico Decimal'
sql_format_01

Resultado con formato de fechas estándar

DECLARE @d DATETIME = GETDATE();

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 'Simplified Chinese (PRC) Result'; 
  
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'; 
sql_format_02

Resultado con formato numérico estándar (ver tipos de formato numérico)

SELECT FORMAT(1234567.89, 'N') as 'Número'
      ,FORMAT(1234567.89, 'G') as 'Normal'
      ,FORMAT(0.039, 'P') as 'Porcentaje'
      ,FORMAT(1234567.89, 'C','en-US') as 'Dinero US'
      ,FORMAT(1234567.89, 'C','en-gb') as 'Dinero GB'
      ,FORMAT(1234567.89, 'C','ja-JP') as 'Dinero Japón'
      ,FORMAT(1234567.89, 'C','fr-FR') as 'Dinero Francia'
sql_format_03

Para ver mas ejemplos de formato que se pueden aplicar ver los siguientes enlaces.
Formato en SQL Server
Cadenas con formato numérico estándar
Cadenas con formato numérico personalizado

Roy Rojashttp://www.dotnetcr.com
Con más de 20 años de experiencia en programación, experto en lenguajes .NET, VB, C#, ASP.NET, Xamarin, XCode, DBA en SQL Server. Creador de dotnetcr.com, sitio web para programadores en español. royrojas.com | dotnetcr.com | GitHub

Redes Sociales

2,736FansMe gusta
326SeguidoresSeguir

Popular esta semana

SQL Server

DELETE con subconsulta o INNER JOIN

En el siguiente ejemplo se explica la forma en que se pueden eliminar registros en nuestras tablas en SQL Server con instrucciones...

Concatenar textos NSString en XCode

Para concatenar strings en XCode ya se han definido funciones especificas, algunas permite concatenar N cantidad de variables o palabras y otras solo permite concatenar 2 variables y obtener como resultado un NSString.

¿Cómo agregar una IP adicional en una VM Ubuntu en Azure?

Lo más común al momento de crear y configurar un nuevo servidor es que a este le asigne un solo IP, pero...

Últimos artículos

SQL Server MERGE

MERGE in SQL Server for Insert, Delete and Update with two tables

Practical example using MERGE to synchronize two tables, Insert, Update and Delete in a single query. Valid for SQL SERVER 2008 or...

Como crear una API REST con ASP.NET Core 6.0

Crear una API REST con C# en ASP.NET es un proceso sencillo y rápido que permite exponer un conjunto de recursos a...
Machine Learning & Python

Introducción a Machine Learning en Python

Machine Learning es una rama de la inteligencia artificial que se enfoca en el desarrollo de sistemas que pueden aprender de...
SQL Server MERGE

MERGE en SQL Server, como utilizarlo de forma sencilla

El comando MERGE en SQL Server se utiliza para combinar datos de varias tablas en una sola tabla. Es útil para actualizar...