logo

Kaip nurodyti datos formatą kuriant lentelę ir užpildyti ją SQL?

Kai dirbame su duomenų bazėmis, pastebime, kad beveik kiekvienoje lentelėje yra stulpelis Data. Juk duomenų data vaidina svarbų vaidmenį juos analizuojant. Labai svarbu išsaugoti datas konkrečiu ar suprantamu formatu. Šiame straipsnyje mes sužinosime, kaip galime nurodyti datos formatą SQL serveryje.

Sukurkime demonstracinę duomenų bazę ir lentelę.

1 žingsnis: Sukurkite duomenų bazę



Norėdami sukurti duomenų bazę, naudokite šią komandą.

Užklausa:

CREATE DATABASE User_details;>

2 žingsnis: Naudokite duomenų bazę

Užklausa:

Python __dict__
USE User_details;>

3 veiksmas: Lentelės apibrėžimas

Duomenų bazėje turime tokią GFG_user lentelę.

Užklausa:

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

Išvestis:

Čia mes sukūrėme stulpelį pavadinimu Dt_FORMATTED, kuriame ketiname išsaugoti suformatuotą datą.

Dabar matome PAVERSTI() funkcija. Funkcija CONVERT() tiesiog konvertuoja bet kokio tipo reikšmę į nurodytą duomenų tipą.

Sintaksė:

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

Naudodami šią funkciją, eilutę perkeliame į datą. Vietoje stiliaus argumentų minėjome '104' . Tai skaitmeninis kodas, skirtas nurodyti datos formatą.

Norėdami pamatyti skirtingus kodus, naudojamus skirtingiems formatams, patikrinkite šią lentelę:

Su šimtmečiu

(yy)

Su šimtmečiu

(yyyy)

Standartinis

Įvesties išvesties

0 arba 100 (1.2)

Numatytoji data ir laikas

ir mažas pasimatymo laikas

pirmadienis dd yyyy hh:

miAM (arba PM)

1 101 JAV

1 = mm/dd/yy

101 = mm/dd/yyyy

2 102 ANSI

2 = yy.mm.dd

102 = yyyy.mm.dd

3 103 britų/prancūzų

3 = dd/mm/yy

103 = dd/mm/yyyy

4 104 vokiečių

4 = dd.mm.yy

104 = dd.mm.yyyy

vienuolika 111 JAPANIJA

11 = yy/mm/dd

111 = yyyy/mm/dd

12 112 ISO

12 = ymmdd

112 = yyyymmdd

java hello world pavyzdys
13 arba 113 (1.2) Europoje numatytasis + milisekundės dd mon yyyy hh:mi:ss:mm (24 val.)
131 (2) Hijri (5) dd/mm/yyyy hh:mi:ss:mmmAM

Čia paminėjome tik 10 dažniausiai naudojamų formatų.

4 veiksmas: Įterpti vertes

Ši komanda naudojama reikšmėms į lentelę įterpti.

Užklausa:

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

Šioje užklausoje mes naudojame į DATOS FORMATAS nustatymą.

Sintaksė:

SET DATEFORMAT format>

Kai įterpiame eilutę, serveris bandys konvertuoti eilutę į datą prieš įterpdamas ją į lentelę. Nes negali pasakyti, ar mėnesį dedame prieš datą, ar datą prieš mėnesį. Pavyzdžiui, tarkime, kad bandote įterpti 06.07.2000. Serveris negali aptikti, ar data yra liepos 6 d., ar birželio 7 d. Nors ji naudoja veikiančios vartotojo abonemento lokalizacijos nustatymus, kad išsiaiškintų, kad nepaminėjus DATEFORMAT gali atsirasti klaida, nes dažniausiai paskyra, kurioje vykdoma operacija, yra nustatytas į JAV formatą, tai yra – Mėnuo Diena Metai (mdy) .

Klaida įvyko todėl, kad norėjome ją išsaugoti kaip dmy , ne mdy . Tačiau naudodami DATEFORMAT padėsite jo atsikratyti.

Išvestis:

Baigėme su savo lentele, dabar patikrinkime, ar gauname norimą išvestį, ar ne.

5 veiksmas: Peržiūrėkite lentelės duomenis

Užklausa:

SELECT * FROM GFG_user;>

Išvestis:

Sėkmingai gavome vokiško formato datą stulpelyje Dt_FORMATTED.

Kitas būdas įterpti datą į duomenų bazę:

Taip pat galime įterpti datą naudodami funkciją „to_date“ SQL. Galima naudoti šią sintaksę:

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

Datos formatas gali būti įvairių tipų, pavyzdžiui: „dd-mm-yyyy“ , „yyyy-mm-dd“ , „mm-dd-yyyy“ .

Pavyzdys:

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 komandas

Išvestis:

polimorfizmas

Išvestis