logo

Kuinka määrittää päivämäärämuoto luotaessa taulukkoa ja täyttää se SQL:llä?

Aina kun työskentelemme tietokantojen kanssa, huomaamme, että melkein jokaisessa taulukossa on Päivämäärä-sarake. Loppujen lopuksi tietojen päivämäärällä on tärkeä rooli niitä analysoitaessa. Päivämäärien tallentaminen tietyssä tai ymmärrettävässä muodossa on erittäin tärkeää. Tässä artikkelissa opimme kuinka voimme määrittää päivämäärämuodon SQL Serverissä.

r in c ohjelmointi

Luodaan demotietokanta ja -taulukko.



Vaihe 1: Luo tietokanta

Luo tietokanta seuraavalla komennolla.

Kysely:



CREATE DATABASE User_details;>

Vaihe 2: Käytä tietokantaa

Kysely:

USE User_details;>

Vaihe 3: Taulukon määritelmä



Meillä on tietokannassa seuraava GFG_user-taulukko.

Kysely:

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

Lähtö:

Täällä olemme luoneet sarakkeen nimeltä Dt_FORMATTED, johon aiomme tallentaa muotoillun päivämäärän.

Nyt näemme MUUNTAA() toiminto. CONVERT()-funktio yksinkertaisesti muuntaa minkä tahansa tyypin arvon määritetyksi tietotyypiksi.

Linux run cmd

Syntaksi:

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

Käyttämällä tätä toimintoa suoratoistamme merkkijonon päivämäärään. Tyyliargumentin sijasta olemme maininneet '104' . Se on numerokoodi, joka määrittää päivämäärän muodon.

Tarkista tämä taulukko nähdäksesi eri muodoille käytetyt koodit:

Vuosisadan kanssa

(yy)

Vuosisadan kanssa

(yyyy)

Vakio

Tulo/lähtö

0 tai 100 (1.2)

Päivämäärän oletusaika

ja pieni päivämäärä

ma pp yyyy hh:

miAM (tai PM)

1 101 MEILLE.

1 = kk/pp/vv

101 = kk/pp/vvvv

2 102 ANSI

2 = vv.kk.pp

102 = vvvv.kk.pp

3 103 brittiläinen/ranskalainen

3 = pp/kk/vv

cdr täysi muoto

103 = pp/kk/vvvv

4 104 Saksan kieli

4 = pp.kk.vv

104 = pp.kk.vvvv

yksitoista 111 JAPANI

11 = vv/kk/pp

111 = vvvv/kk/pp

12 112 ISO

12 = ymmdd

112 = vvvvkkpp

13 tai 113 (1.2) Eurooppa oletusarvo + millisekuntia dd ma yyyy hh:mi:ss:mm (24h)
131 (2) Hijri (5) pp/kk/vvvv hh:mi:ss:mmAM

Tässä olemme maininneet vain 10 eniten käytettyä muotoa.

Vaihe 4: Lisää arvot

Seuraavaa komentoa käytetään arvojen lisäämiseen taulukkoon.

Wordin pikatyökalurivi

Kysely:

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

Tässä kyselyssä käytämme the PÄIVÄMÄÄRÄMUOTO asetusta.

Syntaksi:

SET DATEFORMAT format>

Kun lisäämme merkkijonoa, palvelin yrittää muuntaa merkkijonon päivämääräksi ennen sen lisäämistä taulukkoon. Koska se ei voi kertoa, laitammeko kuukauden ennen päivämäärää vai päivämäärän ennen kuukautta. Oletetaan esimerkiksi, että yrität lisätä 06.07.2000. Palvelin ei pysty havaitsemaan, onko päivämäärä 6. heinäkuuta vai 7. kesäkuuta. Vaikka se käyttää toimivan käyttäjätilin lokalisointiasetuksia selvittääkseen, että DATEFORMATin mainitsematta jättäminen saattaa aiheuttaa virheen, koska useimmiten toimintoa suorittava tili on asetettu USA-muotoon, eli - Kuukausi Päivä Vuosi (kkv) .

Virhe johtui siitä, että halusimme tallentaa sen nimellä dmy , ei mdy . DATEFORMATin käyttö auttaa kuitenkin pääsemään eroon siitä.

Lähtö:

Pöytä on valmis, nyt tarkistetaan saammeko haluamamme tuloksen vai ei.

Vaihe 5: Katso taulukon tiedot

Kysely:

SELECT * FROM GFG_user;>

Lähtö:

Olemme onnistuneesti saaneet saksalaisen muotomme päivämäärän Dt_FORMATTED-sarakkeeseen.

Toinen tapa lisätä päivämäärä tietokantaan:

Voimme myös lisätä päivämäärän käyttämällä sql:n to_date-funktiota. Seuraavaa syntaksia voidaan käyttää:

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

Päivämäärän muoto voi olla erityyppinen, kuten: 'pp-kk-vvvv' , 'vvvv-kk-pp' , 'kk-pp-vvvv' .

kuinka käyttää mysql-työpöytää

Esimerkki:

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

Lähtö:

Lähtö