¿Cómo especificar un formato de fecha al crear una tabla y completarla en SQL?

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.

Publicación traducida automáticamente

Artículo escrito por diyaroy22 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *