logo

Hvordan angiver man et datoformat ved oprettelse af en tabel og udfylder det i SQL?

Når vi arbejder med databaser, opdager vi, at næsten hver enkelt tabel indeholder en Dato-kolonne. Når alt kommer til alt, spiller datoen for dataene en vigtig rolle, mens de analyseres. Det er meget vigtigt at gemme datoer i et bestemt eller forståeligt format. I denne artikel skal vi lære, hvordan vi kan angive et datoformat på SQL Server.

Lad os oprette vores demodatabase og tabel.



Trin 1: Opret en database

Brug følgende kommando til at oprette en database.

hvordan man ved, om nogen har blokeret dig på Android

Forespørgsel:



CREATE DATABASE User_details;>

Trin 2: Brug database

Forespørgsel:

USE User_details;>

Trin 3: Tabel definition



Vi har følgende GFG_user tabel i databasen.

Forespørgsel:

CREATE TABLE GFG_user(Id INT NOT NULL,Dt DATE, Address VARCHAR(100),Dt_FORMATTED AS (convert(varchar(255), dt, 104)), PRIMARY KEY (Id) );>

Produktion:

Her har vi oprettet en kolonne ved navn Dt_FORMATTED, hvor vi skal gemme vores formaterede Dato.

Nu ser vi KONVERTERE() fungere. Funktionen CONVERT() konverterer simpelthen en værdi af enhver type til en specificeret datatype.

Syntaks:

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

Ved at bruge denne funktion caster vi strengen til en dato. I stedet for stilargument har vi nævnt '104' . Det er en numerisk kode til at angive datoformatet.

Tjek denne tabel for at se forskellige koder, der bruges til forskellige formater:

Med århundrede

(åå)

Med århundrede

(åååå)

Standard

Input/Output

0 eller 100 (1.2)

Standard for dato og klokkeslæt

og smalldatetime

man dd ååå tt:

miAM (eller PM)

1 101 OS.

1 = mm/dd/åå

ubuntu build væsentlige

101 = mm/dd/åååå

2 102 ANSI

2 = åå.mm.dd

102 = åååå.mm.dd

3 103 britisk/fransk

3 = dd/mm/åå

103 = dd/mm/åååå

4 104 tysk

4 = dd.mm.åå

104 = dd.mm.åååå

elleve 111 JAPAN

11 = åå/mm/dd

111 = åååå/mm/dd

12 112 ISO

12 = ymmdd

112 = ååååmmdd

13 eller 113 (1.2) Europa standard + millisekunder dd man åååå tt:mi:ss:mmm (24t)
131 (2) Hijri (5) dd/mm/åååå tt:mi:ss:mmmAM

Her har vi kun nævnt de 10 mest brugte formater.

Trin 4: Indsæt værdier

Følgende kommando bruges til at indsætte værdier i tabellen.

Forespørgsel:

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

I denne forespørgsel bruger vi det DATOFORMAT indstilling.

Syntaks:

SET DATEFORMAT format>

Når vi indsætter strengen, vil serveren forsøge at konvertere strengen til dato, før den indsættes i tabellen. Da det ikke kan sige, om vi sætter måneden før datoen eller datoen før måneden. Antag for eksempel, at du forsøger at indsætte 06.07.2000. Serveren er ikke i stand til at registrere, om datoen er den 6. juli eller den er den 7. juni. Selvom den bruger lokaliseringsindstillingerne for den brugerkonto, der kører til at finde ud af, at ikke at nævne DATEFORMAT kan give dig en fejl, da den konto, der kører operationen, de fleste gange er indstillet til USA-format, dvs. Måned Dag År (mdy) .

trækort

Fejlen opstod, fordi vi ønskede at gemme den som dmy , ikke mdy . Brug af DATEFORMAT vil dog hjælpe dig med at slippe af med det.

Produktion:

Vi er færdige med vores bord, lad os nu tjekke, om vi får vores ønskede output eller ej.

Trin 5: Se tabellens data

Forespørgsel:

SELECT * FROM GFG_user;>

Produktion:

Vi har med succes fået vores tyske format Dato i kolonnen Dt_FORMATTED.

En anden tilgang til at indsætte dato i databasen:

Vi kan også indsætte dato ved hjælp af 'to_date'-funktionen i sql. Følgende syntaks kan bruges:

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

Datoformat kan være af forskellige typer, såsom: 'dd-mm-åååå' , 'åååå-mm-dd' , 'mm-dd-åååå' .

arraylist sorteret

Eksempel:

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

sql kommandoer

Produktion:

Produktion