jueves, junio 11, 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

Utilizando la Herencia en los Mantenimientos (Forms) – Parte 1

Utilizando Herencia para los Mantenimietos o Formas en .Net. Ayuda a simplificar el trabajo y permite que las aplicaciones tengan uniformidad

Como utilizar un web service

Vamos a explicar como utilizar un web service, y para este ejemplo vamos a utilizar el web service del Banco Central de Costa Rica para saber el tipo de cambio del Colón con respecto al Dolar.

Web User Control y Web Custom Controls para nuestras aplicaciones .Net

Otro tutorial que nos brinda Microsoft de como crear y agregar controles a nuestas aplicaciones

Ú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...