logo

Com especificar un format de data en crear una taula i omplir-lo en SQL?

Sempre que treballem amb bases de dades, trobem que gairebé totes les taules contenen una columna de data. Després de tot, la data de les dades té un paper important a l'hora d'analitzar-les. Emmagatzemar les dates en un format específic o entenedor és molt important. En aquest article, aprendrem com podem especificar un format de data a SQL Server.

Creem la nostra base de dades i taula de demostració.



Pas 1: Crear una base de dades

Utilitzeu l'ordre següent per crear una base de dades.

bucle for a java

Consulta:



CREATE DATABASE User_details;>

Pas 2: Utilitza la base de dades

Consulta:

USE User_details;>

Pas 3: Definició de la taula



Tenim la següent taula GFG_user a la base de dades.

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) );>

Sortida:

Aquí, hem creat una columna anomenada Dt_FORMATTED on guardarem la data amb format.

Ara, veiem el CONVERTIR() funció. La funció CONVERT() simplement converteix un valor de qualsevol tipus en un tipus de dades especificat.

mètode de subcadenes en java

Sintaxi:

CONVERT ( data_type ( length ) , expression , style )>

Mitjançant aquesta funció, estem llançant la cadena a una data. En lloc de l'argument d'estil, hem esmentat ‘104’ . És un codi numèric per especificar el format de la data.

Consulteu aquesta taula per veure els diferents codis utilitzats per a diferents formats:

Amb segle

(ai)

Amb segle

(aaaa)

Estàndard

D'entrada i sortida

0 o 100 (1,2)

Per defecte per a la data i l'hora

i smalldatetime

ll dd aaa hh:

miAM (o PM)

1 101 NOSALTRES.

1 = mm/dd/aa

101 = mm/dd/aaaa

2 102 ANSI

2 = aa.mm.dd

102 = aaaa.mm.dd

linux $home
3 103 britànic/francès

3 = dd/mm/aa

103 = dd/mm/aaaa

4 104 alemany

4 = dd.mm.aa

104 = dd.mm.aaaa

11 111 JAPÓ

11 = aa/mm/dd

111 = aaaa/mm/dd

12 112 ISO

12 = ymmdd

112 = aaaammdd

13 o 113 (1,2) Europa per defecte + mil·lisegons dd dl aaaa hh:mi:ss:mmm (24h)
131 (2) Hijri (5) dd/mm/aaaa hh:mi:ss:mmmAM

Aquí, només hem esmentat els 10 formats més utilitzats.

Pas 4: Inserir valors

La següent comanda s'utilitza per inserir valors a la taula.

conversió de cadena a enter en java

Consulta:

SET DATEFORMAT dmy; INSERT INTO GFG_user (Id, Dt, Address) VALUES ('1','23.11.2021', 'German');>

En aquesta consulta, estem utilitzant el FORMAT DE DATA configuració.

Sintaxi:

SET DATEFORMAT format>

Quan estem inserint la cadena, el servidor intentarà convertir la cadena a la data abans d'inserir-la a la taula. Com no es pot dir si estem posant el mes abans de la data o la data abans del mes. Per exemple, suposem que esteu intentant inserir 06.07.2000. El servidor no pot detectar si la data és el 6 de juliol o el 7 de juny. Tot i que utilitza la configuració de localització del compte d'usuari que està operant per esbrinar que no esmentar el DATEFORMAT pot provocar un error, ja que la majoria de vegades el compte que està executant l'operació està configurat en format EUA, és a dir: Mes Dia Any (mdy) .

L'error s'ha produït perquè volíem desar-lo com a dmy , no mdy . Tanmateix, utilitzar DATEFORMAT us ajudarà a desfer-vos-en.

Sortida:

Hem acabat amb la nostra taula, ara comprovem si estem aconseguint la sortida desitjada o no.

Pas 5: Veure les dades de la taula

Consulta:

SELECT * FROM GFG_user;>

Sortida:

java bool a cadena

Hem aconseguit el nostre format alemany Data a la columna Dt_FORMATTED.

Un altre enfocament per inserir la data a la base de dades:

També podem inserir la data utilitzant la funció 'to_date' a sql. Es pot utilitzar la sintaxi següent:

TO_DATE([value], [format]);>

El format de la data pot ser de diferents tipus, com ara: 'dd-mm-aaaa' , 'aaaa-mm-dd' , 'mm-dd-aaaa' .

Exemple:

CREATE TABLE GFG_INTERN (e_name VARCHAR(20), e_id number, joiningDate date); INSERT INTO GFG_INTERN VALUES ('FirstIntern', 001, to_date('2022-12-12','yyyy-mm-dd')); INSERT INTO GFG_INTERN VALUES ('SecondIntern', 002, to_date('2022-Dec-12','yyyy-mm-dd')); INSERT INTO GFG_INTERN VALUES ('ThirdIntern', 003, to_date('30-12-2022','dd-mm-yyyy')); INSERT INTO GFG_INTERN VALUES ('FourthIntern', 004, to_date('12-31-2022','mm-dd-yyyy')); SELECT * FROM GFG_INTERN;>

ordres sql

Sortida:

Sortida