Cómo formatear fecha en SQL Server: Función CONVERT() (2023)

Table of Contents
Situación Tipos de datos y funciones de fecha y hora (Transact-SQL) Lista de tipos de datos Requerimiento SQL Server Management Studio Errores al convertir fechas Cómo formatear fecha en SQL Server con la función CONVERT()? Comando para filtrar o convertir fechas Ejemplos prácticos de uso de la función CONVERT() Ejemplo #01 –sql fecha formato dd/mm/yyyy Ejemplo #02 – Convertir DateTime en formato mm-dd-yyyy Ejemplo #03 – Convertir DateTime en formato yyyy/mm/dd Ejemplo #04 – Convertir DateTime en formato dd MMMM, yyyy Ejemplo #05 – Convertir DateTime en formato HH:mm tt Ejemplo #06 – Convertir DateTime en formato HH:mm:ss.fff tt Ejemplo #07 – Convertir DateTime en formato dddd, dd MMMM yyyy Ejemplo #08 – Convertir DateTime en formato dddd HH:mm tt Ejemplo #09 – Convertir DateTime en formato yyyy-mm-dd hh:mm:ss.fff Ejemplo #010 – Convertir DateTime en formato dd/mm/yy hh:mm Ejemplo #011 – Convertir DateTime en formato mm-dd-yy hh:mi Ejemplo #012 – Convertir DateTime en formato hh:mm tt mm/dd/yy Ejemplo #013 – Convertir DateTime en formato hh:mm tt dd/mm/yy Ejemplo #014 – Convertir DateTime en formato mmddyyhhmi Ejemplo #015 – Convertir DateTime en formato dd-mmm-yy hh:mi Ejemplo #016 – Convertir DateTime en formato dddd mm/dd/yy hh:mm tt Ejemplo #017 – Convertir DateTime en formato dddd dd-mmm-yy hh:mm tt ¿Cuándo conviene usar la función CONVERT() para formatear fecha en SQL Server? Funcion Format vs convert de sql server para fechas Sintaxis formato fecha regional Sintaxis formato fecha con variables Sintaxis extraer hora de la fecha Decargar Script de ejemplos Otras funciones de cadena importantes Conclusión FAQs Videos

Las fechas son esenciales en la mayoría de las aplicaciones. A veces, necesitamos mostrar una fecha en el formato correcto para nuestro usuario. Por ejemplo, si estamos mostrando la fecha en el formato «Año-Mes-Día», quizás el usuario quiera verlo en «Día-Año-Mes». En este artículo, vamos a aprender cómo usar la función CONVERT() en SQL Server para convertir una DateTime a diferentes formatos.

Índice

    Situación

    Al trabajar en reportes de empresas microsoft sql server nos facilita la vida puesto que nos permite con la funcion convert aplicar formatos algo que no podemos hacer con la funcion del standard de sql cast. Por lo cual en esta ocacion te presentamos una situacion muy comun dentro de los desarrollos programas en el lenguaje que prefieras o en el diseño reportes en general que utilzan sql server 2016 como sgbd.

    Hay muchos casos en los que las fechas y las horas no aparecen en en el formato que requiere el usuario, ni el resultado de una consulta se ajusta a las necesidades. Una opción es formatear los datos desde el software(aplicando alguna ajuste). Otra opción es utilizar las función Convert() de SQL Server para formatear la cadena de fecha por usted.

    Cómo formatear fecha en SQL Server: Función CONVERT() (1)

    Sacar una copia de datos o backup e...

    Sacar una copia de datos o backup en MySQL con Workbench y restaurarla (1)

    Tipos de datos y funciones de fecha y hora (Transact-SQL)

    Transact-SQL utiliza la fecha y hora del sistema operativo del servidor o pc donde se encuentra instalada la instancia de SQL Server. En la version de SQL Server 2019 (15.x) o 2022 deriva los valores mediante la API de GetSystemTimeAsFileTime.

    Lista de tipos de datos

    • Time
    • Date
    • smalldatetime
    • datetime
    • datetime2
    • datetimeoffset

    Todos estos tipos de datos varian en formato y presicion por lo cual es importante contar con una funcion que te permita convertir las fechas al formato adecuado. De esta forma podemos formatear un fecha sin hora en sql server.

    Requerimiento SQL Server Management Studio

    Es importante recordar que la herramienta impresindible para ejecutar estos ejemplos es el SQL Server Management Studio pero en caso de podras ejecutar los comando Tsql en otra GUI que permita la conexion a la instancia de sql server, como es Heidisql la cual es una herramienta muy flexible para trabajar con sql server.

    Ver mas

    Errores al convertir fechas

    Normalmente trabajar con fechas en cualquier sistema de gestion de base de datos como pasa es importante tomar encuenta cual es el fomato requerido o la region para en mysql convertir fechas relativamente mas facil que en microsoft sql server puesto que puedes manipular las variables.

    para solucionar cualquier problema con la conversion de fechas con el comando convert en este articulo encontraras el formato necesario. debemos recordar que el valor para convertir debe ser de un tipo de datos fecha esto es asi para mysql y sql server. Pero si toca tambien es lo mismo para power BI.

    Cómo formatear fecha en SQL Server con la función CONVERT()?

    La función CONVERT() se usa para convertir un valor de un tipo de datos a otro. También podemos usarla para formatear la fecha y hora. A continuación, se muestra el sintaxis general de la función CONVERT().

    CONVERT (data_type [length], expression, style)

    En la sintaxis anterior, el data_type es el tipo de datos al que queremos convertir. La longitud es opcional y se usa solo si estamos convirtiendo a un tipo de caracteres. La expresión es el valor que se va a convertir. El style es opcional y se usa para indicar el formato de salida de la fecha/hora.

    Comando para filtrar o convertir fechas

    Cómo formatear fecha en SQL Server: Función CONVERT() (2)

    Cómo Convertir fecha en mysql

    Ver mas

    (Video) SQL Cambiar formato de fecha con CONVERT
    Cómo formatear fecha en SQL Server: Función CONVERT() (4)

    Where o between para sacar fechas sql

    Ver mas

    Cómo formatear fecha en SQL Server: Función CONVERT() (5)

    Aplicar Formato de moneda en las columnas

    Ver mas

    Ejemplos prácticos de uso de la función CONVERT()

    Ahora, vamos a ver algunos ejemplos de uso de la función CONVERT().

    Ejemplo #01 –sql fecha formato dd/mm/yyyy

    En este ejemplo, convertiremos una fecha y hora en el siguiente formato: sql fecha formato dd/mm/yyyy al ejecutar esta consulta generamos la fecha sin hora en sql server.

    (Video) 55 - Fechas: Como Obtener la Fecha y Como Cambiar el Formato de Presentación [Sql Server]

    SELECT CONVERT(VARCHAR, GETDATE(), 103) AS [DD/MM/YYYY];

    Ejemplo #02 – Convertir DateTime en formato mm-dd-yyyy

    En este ejemplo, convertiremos una fecha y hora en el siguiente formato: mm-dd-yyyy.

    SELECT CONVERT(VARCHAR, GETDATE(), 101) AS [MM-DD-YYYY];

    Ejemplo #03 – Convertir DateTime en formato yyyy/mm/dd

    En este ejemplo, convertiremos una fecha y hora en el siguiente formato: yyyy/mm/dd. al igual que en los ejemplos anteriores eliminamos la hora de la fecha para tener una fecha en el formato indicado.

    SELECT CONVERT(VARCHAR, GETDATE(), 111) AS [YYYY/MM/DD];

    Ejemplo #04 – Convertir DateTime en formato dd MMMM, yyyy

    En este ejemplo, convertiremos una fecha y hora en el siguiente formato: dd MMMM, yyyy.

    SELECT CONVERT(VARCHAR, GETDATE(), 106) AS [DD Month YYYY];

    Ejemplo #05 – Convertir DateTime en formato HH:mm tt

    En este ejemplo, convertiremos una fecha y hora en el siguiente formato: HH:mm tt.

    «`

    SELECT CONVERT(VARCHAR, GETDATE(), 100) AS [HH:MM AM/PM];

    «`

    Ejemplo #06 – Convertir DateTime en formato HH:mm:ss.fff tt

    En este ejemplo, convertiremos una fecha y hora en el siguiente formato: HH:mm:ss.fff tt.

    «`

    SELECT CONVERT(VARCHAR, GETDATE(), 108) AS [HH:MM:SS AM/PM];

    «`

    Ejemplo #07 – Convertir DateTime en formato dddd, dd MMMM yyyy

    En este ejemplo, convertiremos una fecha y hora en el siguiente formato: dddd, dd MMMM yyyy.

    «`

    SELECT CONVERT(VARCHAR, GETDATE(), 113) AS [DDDD, DD Month YYYY];

    «`

    Ejemplo #08 – Convertir DateTime en formato dddd HH:mm tt

    En este ejemplo, convertiremos una fecha y hora en el siguiente formato: dddd HH:mm tt.

    «`

    SELECT CONVERT(VARCHAR, GETDATE(), 114) AS [DDDD HH:MM AM/PM];

    «`

    Ejemplo #09 – Convertir DateTime en formato yyyy-mm-dd hh:mm:ss.fff

    En este ejemplo, convertiremos una fecha y hora en el siguiente formato: yyyy-mm-dd hh:mm:ss.fff.

    «`

    SELECT CONVERT(VARCHAR, GETDATE(), 120) AS [YYYY-MM-DD HH:MM:SS.FFF];

    «`

    (Video) Formatear fechas con SQL - SQL Server

    Ejemplo #010 – Convertir DateTime en formato dd/mm/yy hh:mm

    En este ejemplo, convertiremos una fecha y hora en el siguiente formato: dd/mm/yy hh:mm.

    «`

    SELECT CONVERT(VARCHAR, GETDATE(), 102) AS [DD/MM/YY HH:MM];

    «`

    Ejemplo #011 – Convertir DateTime en formato mm-dd-yy hh:mi

    En este ejemplo, convertiremos una fecha y hora en el siguiente formato: mm-dd-yy hh:mi.

    «`

    SELECT CONVERT(VARCHAR, GETDATE(), 104) AS [MM-DD-YY HH:MI];

    «`

    Ejemplo #012 – Convertir DateTime en formato hh:mm tt mm/dd/yy

    En este ejemplo, convertiremos una fecha y hora en el siguiente formato: hh:mm tt mm/dd/yy.

    «`

    SELECT CONVERT(VARCHAR, GETDATE(), 105) AS [HH:MM AM/PM MM/DD/YY];

    «

    Ejemplo #013 – Convertir DateTime en formato hh:mm tt dd/mm/yy

    En este ejemplo, convertiremos una fecha y hora en el siguiente formato: hh:mm tt dd/mm/yy.

    «`

    SELECT CONVERT(VARCHAR, GETDATE(), 107) AS [HH:MM AM/PM DD/MM/YY]

    «

    Ejemplo #014 – Convertir DateTime en formato mmddyyhhmi

    En este ejemplo, convertiremos una fecha y hora en el siguiente formato: mmddyyhhmi.

    «`

    SELECT CONVERT(VARCHAR, GETDATE(), 112) AS [MMDDYYHHMI];

    «`

    Ejemplo #015 – Convertir DateTime en formato dd-mmm-yy hh:mi

    En este ejemplo, convertiremos una fecha y hora en el siguiente formato: dd-mmm-yy hh:mi.

    «`

    SELECT CONVERT(VARCHAR, GETDATE(), 109) AS [DD-MMM-YY HH:MI];

    «`

    Ejemplo #016 – Convertir DateTime en formato dddd mm/dd/yy hh:mm tt

    En este ejemplo, convertiremos una fecha y hora en el siguiente formato: dddd mm/dd/yy hh:mm tt.

    «`

    SELECT CONVERT(VARCHAR, GETDATE(), 103) AS [DDDD MM/DD/YY HH:MM AM/PM];

    (Video) 😯‼️ SOLUCIÓN: Error al convertir una cadena de caracteres en fecha y/u hora SQL SERVER

    «`

    Ejemplo #017 – Convertir DateTime en formato dddd dd-mmm-yy hh:mm tt

    En este ejemplo, convertiremos una fecha y hora en el siguiente formato: dddd dd-mmm-yy hh:mm tt.

    «`

    SELECT CONVERT(VARCHAR, GETDATE(), 110) AS [DDDD DD-MMM-YY HH:MM AM/PM];

    «`

    ¿Cuándo conviene usar la función CONVERT() para formatear fecha en SQL Server?

    En general, la función CONVERT() es una buena opción cuando necesitamos formatear una fecha en SQL Server. Sin embargo, debemos tener en cuenta que esta función puede afectar el rendimiento de nuestras consultas si no se usa correctamente.

    Por ejemplo, si tenemos una tabla con millones de registros y necesitamos convertir la columna fecha en el formato dd/mm/yyyy, podría ser mejor crear una nueva columna con el valor formateado en lugar de usar CONVERT() en la consulta. De esta forma, evitaremos tener que convertir los datos cada vez que hagamos una consulta y mejoraremos el rendimiento de nuestras consultas.

    Funcion Format vs convert de sql server para fechas

    A partir de SQL Server 2012 , se incluye una función para convertir fechas y dar formato que es similar a la función to_date postgresql . La función Convert de SQL Server tiene poca flexibilidad para manejar los cambios y dar formato por lo cual microsoft escucho a sus usuarios e incluyo una funcion que te permite trabajar con las fechas y manipular su formato.

    La función FORMAT debe utilizarse con los tipos siguientes tipos de datos de fecha y hora de una columna de fecha (tipo de datos date, datetime, datetime2, smalldatetime, datetimeoffset, etc.)

    Con la función FORMATO de SQL Server, no necesitamos saber el número de formato a usar para obtener el formato de fecha correcto como vimos al principio del articulo.

    Sintaxis formato fecha regional

    SELECT FORMAT (conlumna tipo fecha, ‘Formato fecha’, ‘region’) as date

    Como poemos visualizar podremos hacer formatear la fecha segun la region que nos encontremos siempreque conoscas el codigo de la region ver debajo listado de regiones mas comunes para utilizar con la funcion format apartir de la version de sql server 2012 en adelante.

    En los siguiente ejemplo podremos convertir las fechas segun la region determinada usando el las culture mas comunes con la funcion format sql server:

    • SELECT FORMAT (getdate(), ‘d’, ‘en-US’) as date
    • SELECT FORMAT (getdate(), ‘d’, ‘fr-FR’) as date
    • SELECT FORMAT (getdate(), ‘d’, ‘bs-Latn-BA’) as date
    • SELECT FORMAT (getdate(), ‘d’, ‘bs-Latn-BA’) as date
    • SELECT FORMAT (getdate(), ‘d’, ‘zh-CN’) as date
    • SELECT FORMAT (getdate(), ‘d’, ‘es-ES’) as date

    Sintaxis formato fecha con variables

    SELECT FORMAT (getdate(), 'dd-MM-yy') as datePodemos ver la funcion format es distinta a la funcion convert en esta utilizamos valiriables las cuales estan

    Podemos ver la funcion format es distinta a la funcion convert en esta utilizamos variables las mismas estan bien definida

    • dd – numero del dia 01-31
    • MM – numero de meses 01-12
    • yy – año con dos digitos

    If this was run for March 21, 2021 the output would be:21-03-21, cuando usamos Format podemos generar una fecha sin hora en sql server pero tambien sacar solo la hora de una fecha como podemos ver en el siguiente ejemplo.

    Sintaxis extraer hora de la fecha

    SELECT FORMAT (getdate(), 'hh:mm:ss') as timeGO

    Variable mas utilizadas

    • hh – hora 01-12
    • mm – minutos 00-59
    • ss – segundos 00-59

    Ejemplos mas comunes para formato las fechas y horas

    SELECT FORMAT (getdate(), ‘yyyy-MM-dd hh:mm:ss tt’) as date2021-03-21 11:36:14 AM
    SELECT FORMAT (getdate(), ‘yyyy.MM.dd hh:mm:ss t’) as date2021.03.21 11:36:14 A
    SELECT FORMAT (getdate(), ‘dddd, MMMM, yyyy’,’es-es’) as date –Spanishdomingo, marzo, 2021

    Decargar Script de ejemplos

    Descarga estos ejemplos para convertir numero a formato de fecnas o para dar el formato de Poner formato de moneda en SQL Server.

    Descargar

    Otras funciones de cadena importantes

    01 Funciones SQL para Manejar Cadenas de Caracteres

    02 Funcion substring en sql con ejemplos

    Conclusión

    En resumen, la función CONVERT() puede ser muy útil para formatear fecha en SQL Server, pero debemos tener cuidado al usarla para no afectar el rendimiento de nuestras consultas.

    Hasta la próxima entrada!!

    Bye :D!!

    FAQs

    What does convert function do in SQL Server? ›

    The CONVERT() function converts a value (of any type) into a specified datatype.

    How to change date format from dd mm yyyy to yyyy-mm-dd in SQL Server? ›

    How to get different date formats in SQL Server
    1. Use the SELECT statement with CONVERT function and date format option for the date values needed.
    2. To get YYYY-MM-DD use this T-SQL syntax SELECT CONVERT(varchar, getdate(), 23)
    3. To get MM/DD/YY use this T-SQL syntax SELECT CONVERT(varchar, getdate(), 1)
    Dec 8, 2022

    What is CAST () and convert () functions in SQL Server? ›

    The cast and convert functions provide similar functionality. They are used to convert a value from one data type to another. So let's take a look at a practical example. The example is developed in SQL Server 2012 using the SQL Server Management Studio.

    How to format text in SQL Server? ›

    There is a special trick I discovered by accident.
    1. Select the query you wish to format.
    2. Ctrl + Shift + Q (This will open your query in the query designer)
    3. Then just go OK Voila! Query designer will format your query for you.

    How to use convert function in SQL with example? ›

    In SQL Server (Transact-SQL), the CONVERT function converts an expression from one datatype to another datatype. If the conversion fails, the function will return an error. Otherwise, it will return the converted value. TIP: Use the TRY_CONVERT function to return a NULL (instead of an error) if the conversion fails.

    Is convert () a function? ›

    Converts a number from one measurement system to another. For example, CONVERT can translate a table of distances in miles to a table of distances in kilometers.

    How do I change the date format from dd MM yyyy to dd MM yyyy? ›

    Press Ctrl+1 to open the Format Cells dialog. Alternatively, you can right click the selected cells and choose Format Cells… from the context menu. In the Format Cells window, switch to the Number tab, and select Date in the Category list. Under Type, pick a desired date format.

    How do I change the date format from mm/dd/yyyy to mm/dd/yyyy in Java? ›

    Format date with SimpleDateFormat('MM/dd/yy') in Java

    // displaying date Format f = new SimpleDateFormat("MM/dd/yy"); String strDate = f. format(new Date()); System. out. println("Current Date = "+strDate);

    How do I change date format from MM DD to YYYY? ›

    Press CTRL+1. In the Format Cells box, click the Number tab. In the Category list, click Date, and then choose a date format you want in Type.

    How do I CONVERT and CAST in SQL? ›

    The SQL CAST function is mainly used to convert the expression from one data type to another data type. If the SQL Server CAST function is unable to convert a declaration to the desired data type, this function returns an error. We use the CAST function to convert numeric data into character or string data.

    How do you write a CAST function in SQL? ›

    Introduction to SQL Server CAST() function
    1. SELECT 1 + '1' AS result; ...
    2. SELECT 1 + CAST(1 AS INT) result; ...
    3. CAST ( expression AS target_type [ ( length ) ] ) ...
    4. SELECT CAST(5.95 AS INT) result; ...
    5. SELECT CAST(5.95 AS DEC(3,0)) result; ...
    6. SELECT CAST('2019-03-14' AS DATETIME) result;

    How to CONVERT data from one type to another in SQL? ›

    SQL Server automatically converts the data from one data type to another. For example, when a smallint is compared to an int, the smallint is implicitly converted to int before the comparison proceeds. GETDATE() implicitly converts to date style 0. SYSDATETIME() implicitly converts to date style 21.

    What does format () do in SQL? ›

    Definition and Usage. The FORMAT() function formats a value with the specified format (and an optional culture in SQL Server 2017). Use the FORMAT() function to format date/time values and number values. For general data type conversions, use CAST() or CONVERT().

    How do I get text formatting? ›

    Find and Replace Text Formatting
    1. Click the Replace button on the Home tab.
    2. Click More to expand the dialog box.
    3. Click the Format button.
    4. Select the type of formatting you want to replace.
    5. Specify the formatting you want to replace and click OK.
    6. Click in the Replace With field.
    7. Click the Format button again.

    How to format SQL format? ›

    Select Edit -> SQL Formatter -> Format Selected Query (or press Ctrl+F12). -- Format All Queries: To format the whole batch of queries entered in the SQL window. Select Format -> SQL Formatter -> Format All Queries (or press Shift+F12).

    How do I write a convert function in SQL Server? ›

    SQL CONVERT function: Syntax

    An integer that specifies the length of the destination data type. A valid value to be converted. An integer expression that instructs how the function will convert the expression. The specified data type defines the range of values for the style argument.

    What is the correct syntax for the convert () function? ›

    The CONVERT() function allows you to convert a value of one type to another. In this syntax: target_type is the target data type to which you wan to convert the expression. It includes INT , BIT , SQL_VARIANT , etc.

    What is convert with example? ›

    : to change from one form or function to another. converted the attic into a bedroom.

    How to convert text to number in SQL? ›

    Related SQL Functions

    TO_NUMBER converts a string to a number of data type NUMERIC. TO_CHAR performs the reverse operation; it converts a number to a string. CAST and CONVERT can be used to convert a string to a number of any data type. For example, you can convert a string to a number of data type INTEGER.

    How do I convert text to date in SQL? ›

    Use the function TO_DATE() to convert a text value containing a date to the date data type. This function takes two arguments: A date value. This can be a string (a text value) or a text column containing date information.

    How to convert numeric to varchar in SQL? ›

    Convert Integer to String in SQL Server
    1. DECLARE @Number INT.
    2. SET @Number=12345.
    3. -- Using CAST function.
    4. SELECT CAST(@Number as varchar(10)) as Num1.
    5. -- Using CONVERT function.
    6. SELECT CONVERT(varchar(10),@Number) as Num2.
    7. -- Using STR function.
    8. SELECT LTRIM(STR(@Number,10)) as Num3.
    May 2, 2016

    What is convert used for? ›

    convert implies a change fitting something for a new or different use or function.

    Which is better parse or convert? ›

    Convert. ToInt32 allows null value, it doesn't throw any errors Int. parse does not allow null value, and it throws an ArgumentNullException error.

    Why do we need to convert type? ›

    Generally takes place when in an expression more than one data type is present. In such conditions type conversion (type promotion) takes place to avoid loss of data. C. All the data types of the variables are upgraded to the data type of the variable with the largest data type.

    Is convert the same as transform? ›

    Some common synonyms of transform are convert, metamorphose, transfigure, transmogrify, and transmute. While all these words mean "to change a thing into a different thing," transform implies a major change in form, nature, or function.

    Videos

    1. 61 - Convertir Entre Tipo de Datos: CAST y CONVERT [SQL Server]
    (CodeStack)
    2. 59. DATE Format in SQL - Use SQL Convert with Date Format in SQL Server
    (Databoard Analytics)
    3. Getdate sql explicado con ejemplo
    (Javier Airos)
    4. How to Format Dates in SQL Server using Convert and Format
    (Sean MacKenzie Data Engineering)
    5. FUNCIONES DE FECHA Y HORA | SQL SERVER
    (Alexander Tutoriales)
    6. Funciones de Texto Cast y Convert
    (Victor Cardenas)
    Top Articles
    Latest Posts
    Article information

    Author: Geoffrey Lueilwitz

    Last Updated: 12/14/2022

    Views: 6579

    Rating: 5 / 5 (80 voted)

    Reviews: 95% of readers found this page helpful

    Author information

    Name: Geoffrey Lueilwitz

    Birthday: 1997-03-23

    Address: 74183 Thomas Course, Port Micheal, OK 55446-1529

    Phone: +13408645881558

    Job: Global Representative

    Hobby: Sailing, Vehicle restoration, Rowing, Ghost hunting, Scrapbooking, Rugby, Board sports

    Introduction: My name is Geoffrey Lueilwitz, I am a zealous, encouraging, sparkling, enchanting, graceful, faithful, nice person who loves writing and wants to share my knowledge and understanding with you.