Cada vez que trabajamos con bases de datos, encontramos que casi todas las tablas contienen una columna de Fecha. Después de todo, la fecha de los datos juega un papel importante al analizarlos. Es muy importante almacenar las fechas en un formato específico o comprensible. En este artículo, vamos a aprender cómo podemos especificar un formato de fecha en SQL Server.
Vamos a crear nuestra base de datos y tabla de demostración.
Paso 1: Crear una base de datos
Use el siguiente comando para crear una base de datos.
Consulta:
CREATE DATABASE User_details;
Paso 2: usar la base de datos
Consulta:
USE User_details;
Paso 3: definición de la tabla
Tenemos la siguiente tabla GFG_user en la base de datos.
Consulta:
CREATE TABLE GFG_user(Id INT NOT NULL,Dt DATE, Address VARCHAR(100),Dt_FORMATTED AS (convert(varchar(255), dt, 104)), PRIMARY KEY (Id) );
Producción:
Aquí, hemos creado una columna llamada Dt_FORMATTED donde vamos a guardar nuestra fecha formateada.
Ahora, vemos la función CONVERTIR() . La función CONVERT() simplemente convierte un valor de cualquier tipo en un tipo de datos específico.
Sintaxis:
CONVERT ( data_type ( length ) , expression , style )
Al usar esta función, estamos convirtiendo la string en una fecha. En lugar del argumento de estilo, hemos mencionado ‘104’ . Es un código numérico para especificar el formato de la fecha.
Consulte esta tabla para ver los diferentes códigos utilizados para diferentes formatos:
con siglo(aaa) |
con siglo(aaaa) |
Estándar |
De entrada y salida |
– | 0 o 100 ( 1,2 ) |
Fecha y hora de dor predeterminada y pequeña fecha y hora |
lun dd aaaa hh: mi AM (o PM) |
1 | 101 | A NOSOTROS |
1 = dd/mm/aa 101 = mm/dd/aaaa |
2 | 102 | ANSI |
2 = aa.mm.dd 102 = aaaa.mm.dd |
3 | 103 | británico/francés |
3 = dd/mm/aa 103 = dd/mm/aaaa |
4 | 104 | Alemán |
4 = dd.mm.aa 104 = dd.mm.aaaa |
11 | 111 | JAPÓN |
11 = aa/mm/dd 111 = aaaa/mm/dd |
12 | 112 | YO ASI |
12 = aammdd 112 = aaaammdd |
– | 13 o 113 ( 1,2 ) | Valor predeterminado de Europa + milisegundos | dd lun aaaa hh:mi:ss:mmm (24h) |
– | 131 ( 2 ) | Hijiri ( 5 ) | dd/mm/aaaa hh:mi:ss:mmmAM |
Aquí, hemos mencionado solo los 10 formatos más utilizados.
Paso 4: Insertar valores
El siguiente comando se utiliza para insertar valores en la tabla.
Consulta:
SET DATEFORMAT dmy; INSERT INTO GFG_user (Id, Dt, Address) VALUES ('1','23.11.2021', 'German');
En esta consulta, estamos usando la configuración DATEFORMAT .
Sintaxis:
SET DATEFORMAT format
Cuando estamos insertando la string, el servidor intentará convertir la string a la fecha antes de insertarla en la tabla. Como no puede decir si estamos poniendo el mes antes de la fecha o la fecha antes del mes. Por ejemplo, suponga que está tratando de insertar 06.07.2000. El servidor no puede detectar si la fecha es el 6 de julio o el 7 de junio. Aunque utiliza la configuración de localización de la cuenta de usuario que está operando para darse cuenta de que no mencionar el FORMATO DE FECHA podría generar un error, ya que la mayoría de las veces la cuenta que está ejecutando la operación está configurada en formato de EE. UU., es decir, Mes Día Año (mdía) .
El error se produjo porque queríamos guardarlo como dmy , no como mdy . Sin embargo, usar DATEFORMAT lo ayudará a deshacerse de él.
Producción:
Hemos terminado con nuestra tabla, ahora vamos a comprobar si estamos obteniendo el resultado deseado o no.
Paso 5: Ver datos de la tabla
Consulta:
SELECT * FROM GFG_user;
Producción:
Hemos obtenido con éxito nuestra fecha en formato alemán en la columna Dt_FORMATTED.