Kedykoľvek pracujeme s databázami, zistíme, že takmer každá jedna tabuľka obsahuje stĺpec Dátum. Koniec koncov, dátum údajov hrá dôležitú úlohu pri ich analýze. Ukladanie dátumov v špecifickom alebo zrozumiteľnom formáte je veľmi dôležité. V tomto článku sa dozvieme, ako môžeme určiť formát dátumu na serveri SQL Server.
Vytvorme našu demo databázu a tabuľku.
Krok 1: Vytvorte databázu
Na vytvorenie databázy použite nasledujúci príkaz.
Dopyt:
CREATE DATABASE User_details;>
Krok 2: Použite databázu
konverzia dátumu na reťazec
Dopyt:
USE User_details;>
Krok 3: Definícia tabuľky
V databáze máme nasledujúcu tabuľku GFG_user.
Dopyt:
CREATE TABLE GFG_user(Id INT NOT NULL,Dt DATE, Address VARCHAR(100),Dt_FORMATTED AS (convert(varchar(255), dt, 104)), PRIMARY KEY (Id) );>
Výkon:

Tu sme vytvorili stĺpec s názvom Dt_FORMATTED, do ktorého uložíme náš formátovaný dátum.
Teraz vidíme, KONVERTOVAŤ() funkciu. Funkcia CONVERT() jednoducho skonvertuje hodnotu ľubovoľného typu na určený dátový typ.
Syntax:
CONVERT ( data_type ( length ) , expression , style )>
Pomocou tejto funkcie prenesieme reťazec na dátum. Na mieste argumentácie štýlu sme spomenuli '104' . Je to číselný kód na určenie formátu dátumu.
V tejto tabuľke nájdete rôzne kódy používané pre rôzne formáty:
So storočím(yy) | So storočím(yyyy) | Štandardné | Vstup výstup |
| – | 0 alebo 100 (1.2) | Predvolené pre dátum a čas a malý dátum a čas | po dd yyy hh: miAM (alebo PM) |
| 1 | 101 | U.S. | 1 = mm/dd/rr 101 = mm/dd/rrrr |
| 2 | 102 | ANSI | 2 = rr.mm.dd 102 = rrrr.mm.dd |
| 3 | 103 | Britská/francúzska | 3 = dd/mm/rr 103 = dd/mm/rrrr |
| 4 | 104 | nemecký | 4 = dd.mm.rr 104 = dd.mm.rrrr |
| jedenásť | 111 | JAPONSKO | 11 = rr/mm/dd 111 = rrrr/mm/dd |
| 12 | 112 | ISO | 12 = ymmdd 112 = rrrrmmdd |
| – | 13 alebo 113 (1.2) | Európa predvolená + milisekundy | dd mon yyyy hh:mi:ss:mmm (24h) |
| – | 131 (2) | hidžra (5) | dd/mm/rrrr hh:mi:ss:mmmAM |
Tu sme spomenuli iba 10 najpoužívanejších formátov.
Krok 4: Vložte hodnoty
Nasledujúci príkaz slúži na vloženie hodnôt do tabuľky.
java cast int do reťazca
Dopyt:
SET DATEFORMAT dmy; INSERT INTO GFG_user (Id, Dt, Address) VALUES ('1','23.11.2021', 'German');> 
V tomto dotaze používame a FORMÁT DÁTUMU nastavenie.
Syntax:
SET DATEFORMAT format>
Keď vkladáme reťazec, server sa pokúsi skonvertovať reťazec na dátum pred vložením do tabuľky. Keďže nedokáže povedať, či uvádzame mesiac pred dátum alebo dátum pred mesiac. Predpokladajme napríklad, že sa pokúšate vložiť 06.07.2000. Server nedokáže zistiť, či je dátum 6. júla alebo je 7. júna. Aj keď používa nastavenia lokalizácie používateľského účtu, ktorý je v prevádzke, aby zistil, že ak neuvediete FORMÁT DÁTUMU, môže vám spôsobiť chybu, pretože väčšinou je účet, na ktorom je spustená operácia, nastavený na formát USA, to znamená – Mesiac Deň Rok (mdy) .
Chyba bola spôsobená, pretože sme ju chceli uložiť ako dmy , nie mdy . Použitie DATEFORMAT vám však pomôže zbaviť sa ho.
Výkon:

S našou tabuľkou sme hotoví, teraz skontrolujeme, či dostávame požadovaný výstup alebo nie.
Krok 5: Zobraziť údaje tabuľky
Dopyt:
SELECT * FROM GFG_user;>
Výkon:

Úspešne sme získali náš nemecký formát Dátum v stĺpci Dt_FORMATTED.
Ďalší spôsob vloženia dátumu do databázy:
Môžeme tiež vložiť dátum pomocou funkcie „to_date“ v sql. Je možné použiť nasledujúcu syntax:
TO_DATE([value], [format]);>
Formát dátumu môže byť rôznych typov, napríklad: „dd-mm-yyyy“ , „rrrr-mm-dd“ , „mm-dd-yyyy“ .
Príklad:
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 príkazy
Výkon:

Výkon