Wanneer we met databases werken, zien we dat bijna elke afzonderlijke tabel een kolom Datum bevat. Bij de analyse ervan speelt de datering van de gegevens immers een belangrijke rol. Het opslaan van datums in een specifiek of begrijpelijk formaat is erg belangrijk. In dit artikel gaan we leren hoe we een datumnotatie op SQL Server kunnen opgeven.
Laten we onze demodatabase en -tabel maken.
Stap 1: Maak een databank
Gebruik de volgende opdracht om een database te maken.
Vraag:
CREATE DATABASE User_details;>
Stap 2: Gebruik databank
Vraag:
USE User_details;>
Stap 3: Tabeldefinitie
We hebben de volgende GFG_user-tabel in de database.
Vraag:
CREATE TABLE GFG_user(Id INT NOT NULL,Dt DATE, Address VARCHAR(100),Dt_FORMATTED AS (convert(varchar(255), dt, 104)), PRIMARY KEY (Id) );>
Uitgang:

Hier hebben we een kolom gemaakt met de naam Dt_FORMATTED waar we onze opgemaakte datum gaan opslaan.
Nu zien wij de OVERZETTEN() functie. De functie CONVERT() converteert eenvoudigweg een waarde van elk type naar een opgegeven gegevenstype.
Syntaxis:
typoscript datum
CONVERT ( data_type ( length ) , expression , style )>
Door deze functie te gebruiken, casten we de string naar een datum. In plaats van het stijlargument hebben we het al genoemd '104' . Het is een numerieke code om het datumformaat te specificeren.
Bekijk deze tabel om de verschillende codes te zien die voor verschillende formaten worden gebruikt:
Met eeuw(jj) | Met eeuw(jjjj) | Standaard | Invoer uitvoer |
| – | 0 of 100 (1.2) | Standaard voor datum/tijd en kleine datetime | ma dd jjj uu: miAM (of PM) |
| 1 | 101 | ONS. | 1 = mm/dd/jj 101 = mm/dd/jjjj |
| 2 | 102 | ANSI | 2 = jj.mm.dd 102 = jjjj.mm.dd |
| 3 | 103 | Brits/Frans | 3 = dd/mm/jj 103 = dd/mm/jjjj |
| 4 | 104 | Duits | 4 = dd.mm.jj 104 = dd.mm.jjjj |
| elf | 111 | JAPAN | 11 = jj/mm/dd 111 = jjjj/mm/dd |
| 12 | 112 | ISO | 12 = jmmdd 112 = jjjjmmdd Hoe een bestand in Java te openen |
| – | 13 of 113 (1.2) | Standaard voor Europa + milliseconden | dd ma jjjj uu:mi:ss:mmm (24u) |
| – | 131 (2) | Hijri (5) | dd/mm/jjjj uu:mi:ss:mmmAM |
Hier hebben we alleen de 10 meest gebruikte formaten genoemd.
Stap 4: Waarden invoegen
De volgende opdracht wordt gebruikt om waarden in de tabel in te voegen.
Vraag:
SET DATEFORMAT dmy; INSERT INTO GFG_user (Id, Dt, Address) VALUES ('1','23.11.2021', 'German');> 
In deze query gebruiken we de DATUMNOTATIE instelling.
Syntaxis:
SET DATEFORMAT format>
Wanneer we de string invoegen, zal de server proberen de string naar de huidige datum te converteren voordat deze in de tabel wordt ingevoegd. Omdat het niet kan zeggen of we de maand vóór de datum of de datum vóór de maand plaatsen. Stel dat u bijvoorbeeld 06.07.2000 probeert in te voegen. De server kan niet detecteren of de datum 6 juli of 7 juni is. Hoewel het de lokalisatie-instellingen van het actieve gebruikersaccount gebruikt om erachter te komen dat het niet vermelden van de DATEFORMAT u een foutmelding kan geven, aangezien het account dat de bewerking uitvoert meestal is ingesteld op het Amerikaanse formaat, dat wil zeggen - Maand Dag Jaar (mdy) .
De fout werd veroorzaakt omdat we deze wilden opslaan als dmy , niet mdy . Als u DATEFORMAT gebruikt, kunt u er echter vanaf komen.
Uitgang:

We zijn klaar met onze tabel, laten we nu controleren of we de gewenste uitvoer krijgen of niet.
Stap 5: Bekijk gegevens van de tabel
Vraag:
SELECT * FROM GFG_user;>
Uitgang:

tekenreeks vervangen in Java
We hebben met succes ons Duitse datumformaat in de kolom Dt_FORMATTED gekregen.
Een andere benadering om datum in de database in te voegen:
We kunnen ook datum invoegen met de functie ‘to_date’ in sql. De volgende syntaxis kan worden gebruikt:
TO_DATE([value], [format]);>
Het datumformaat kan van verschillende typen zijn, zoals: ‘dd-mm-jjjj’ , ‘jjjj-mm-dd’ , ‘mm-dd-jjjj’ .
Voorbeeld:
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-opdrachten
Uitgang:

Uitvoer