logo

Kā norādīt datuma formātu, veidojot tabulu un aizpildīt to SQL?

Ikreiz, kad strādājam ar datu bāzēm, mēs atklājam, ka gandrīz katrā tabulā ir datums kolonna. Galu galā datu datumam ir svarīga loma to analīzē. Ir ļoti svarīgi saglabāt datumus noteiktā vai saprotamā formātā. Šajā rakstā mēs uzzināsim, kā mēs varam norādīt datuma formātu SQL serverī.

Izveidosim savu demonstrācijas datu bāzi un tabulu.



1. darbība: Izveidojiet datu bāzi

Izmantojiet šo komandu, lai izveidotu datu bāzi.

Vaicājums:



tukšs 0
CREATE DATABASE User_details;>

2. darbība: Izmantojiet datu bāzi

Vaicājums:

USE User_details;>

3. darbība: Tabulas definīcija



Mums datu bāzē ir šāda GFG_user tabula.

Vaicājums:

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

Izvade:

Šeit mēs esam izveidojuši kolonnu ar nosaukumu Dt_FORMATTED, kurā mēs saglabāsim formatēto datumu.

Tagad mēs redzam KONVERTĒT() funkciju. Funkcija CONVERT() vienkārši pārvērš jebkura veida vērtību noteiktā datu tipā.

pavediens.iznīcināt

Sintakse:

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

Izmantojot šo funkciju, mēs pārraidām virkni uz datumu. Stila argumenta vietā esam minējuši '104' . Tas ir ciparu kods, lai norādītu datuma formātu.

Pārbaudiet šo tabulu, lai redzētu dažādus kodus, kas tiek izmantoti dažādiem formātiem:

Ar gadsimtu

(yy)

Ar gadsimtu

(gggg)

Standarta

Ieejas izejas

0 vai 100 (1.2)

Datuma un laika noklusējuma iestatījums

un mazs datums laiks

pirmdien dd gggg hh:

miAM (vai PM)

1 101 ASV

1 = mm/dd/gg

101 = mm/dd/gggg

2 102 ANSI

2 = gg.mm.dd

102 = gggg.mm.dd

3 103 britu/franču

3 = dd/mm/gg

103 = dd/mm/gggg

4 104 vācu

4 = dd.mm.gg

104 = dd.mm.gggg

vienpadsmit 111 JAPĀNA

11 = gg/mm/dd

111 = gggg/mm/dd

12 112 ISO

12 = ymmdd

java virkne char

112 = ggggmmdd

13 vai 113 (1.2) Eiropā noklusējuma + milisekundes dd mon gggg hh:mi:ss:mm (24h)
131 (2) Hijri (5) dd/mm/gggg hh:mi:ss:mmmmAM

Šeit mēs esam minējuši tikai 10 visbiežāk izmantotos formātus.

4. darbība: Ievietojiet vērtības

Tālāk norādītā komanda tiek izmantota, lai tabulā ievietotu vērtības.

kā palaist skriptu Linux

Vaicājums:

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

Šajā vaicājumā mēs izmantojam uz DATUMA FORMĀTS iestatījumu.

Sintakse:

SET DATEFORMAT format>

Kad mēs ievietojam virkni, serveris mēģinās pārvērst virkni uz datumu pirms ievietošanas tabulā. Tā kā tas nevar noteikt, vai mēs ievietojam mēnesi pirms datuma vai datumu pirms mēneša. Piemēram, pieņemsim, ka mēģināt ievietot 06.07.2000. Serveris nevar noteikt, vai datums ir 6. jūlijs vai 7. jūnijs. Lai gan tas izmanto tā lietotāja konta lokalizācijas iestatījumus, kas darbojas, lai noskaidrotu, ka, nepieminot DATEFORMAT, var rasties kļūda, jo vairumā gadījumu konts, kurā tiek veikta darbība, ir iestatīts uz ASV formātu, tas ir - Mēnesis Diena Gads (md.) .

Kļūda radās, jo vēlējāmies to saglabāt kā dmy , nē mdy . Tomēr DATEFORMAT izmantošana palīdzēs no tā atbrīvoties.

Izvade:

Esam pabeiguši savu tabulu, tagad pārbaudīsim, vai mēs iegūstam vēlamo rezultātu.

5. darbība: Skatīt tabulas datus

Vaicājums:

SELECT * FROM GFG_user;>

Izvade:

Mēs esam veiksmīgi ieguvuši mūsu vācu formāta datumu kolonnā Dt_FORMATTED.

Vēl viena pieeja datuma ievietošanai datu bāzē:

Mēs varam arī ievietot datumu, izmantojot SQL funkciju “to_date”. Var izmantot šādu sintaksi:

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

Datuma formāts var būt dažāda veida, piemēram: “dd-mm-gggg” , “gggg-mm-dd” , “mm-dd-gggg” .

Piemērs:

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

arp komanda

Izvade:

Izvade