logo

Wie lege ich beim Erstellen einer Tabelle ein Datumsformat fest und fülle es in SQL aus?

Wenn wir mit Datenbanken arbeiten, stellen wir fest, dass fast jede einzelne Tabelle eine Datumsspalte enthält. Schließlich spielt das Datum der Daten bei der Analyse eine wichtige Rolle. Es ist sehr wichtig, Daten in einem bestimmten oder verständlichen Format zu speichern. In diesem Artikel erfahren Sie, wie wir in SQL Server ein Datumsformat festlegen können.

Lassen Sie uns unsere Demo-Datenbank und -Tabelle erstellen.



Schritt 1: Erstellen Sie eine Datenbank

Verwenden Sie den folgenden Befehl, um eine Datenbank zu erstellen.

Abfrage:



CREATE DATABASE User_details;>

Schritt 2: Datenbank nutzen

Abfrage:

USE User_details;>

Schritt 3: Tabellendefinition



Wir haben die folgende GFG_user-Tabelle in der Datenbank.

Abfrage:

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

Ausgabe:

Hier haben wir eine Spalte namens Dt_FORMATTED erstellt, in der wir unser formatiertes Datum speichern werden.

Jetzt sehen wir das KONVERTIEREN() Funktion. Die Funktion CONVERT() konvertiert einfach einen Wert eines beliebigen Typs in einen angegebenen Datentyp.

Syntax:

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

Mithilfe dieser Funktion wandeln wir die Zeichenfolge in ein Datum um. Anstelle des Stilarguments haben wir erwähnt '104' . Es handelt sich um einen numerischen Code zur Angabe des Datumsformats.

Sehen Sie sich diese Tabelle an, um verschiedene Codes zu sehen, die für verschiedene Formate verwendet werden:

Java-Designmuster

Mit Jahrhundert

(jj)

Mit Jahrhundert

(jjjj)

Standard

Input-Output

0 oder 100 (1.2)

Standard für datetime

und smalldatetime

Montag TT JJJJ HH:

miAM (oder PM)

1 101 UNS.

1 = MM/TT/JJ

101 = MM/TT/JJJJ

2 102 ANSI

2 = jj.mm.tt

102 = jjjj.mm.tt

3 103 Britisch/Französisch

3 = TT/MM/JJ

103 = TT/MM/JJJJ

4 104 Deutsch

4 = TT.MM.JJ

104 = dd.mm.yyyy

elf 111 JAPAN

11 = jj/mm/tt

111 = jjjj/mm/tt

12 112 ISO

12 = jmmtt

112 = jjjjmmtt

13 oder 113 (1.2) Europa-Standard + Millisekunden TT Mo JJJJ hh:mi:ss:mmm (24h)
131 (2) Hijri (5) TT/MM/JJJJ hh:mi:ss:mmmAM

Hier haben wir nur die 10 am häufigsten verwendeten Formate erwähnt.

Schritt 4: Werte einfügen

Mit dem folgenden Befehl werden Werte in die Tabelle eingefügt.

Abfrage:

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

In dieser Abfrage verwenden wir Die DATUMSFORMAT Einstellung.

Syntax:

SET DATEFORMAT format>

Wenn wir die Zeichenfolge einfügen, versucht der Server, die Zeichenfolge in ein Datum zu konvertieren, bevor sie in die Tabelle eingefügt wird. Da es nicht erkennen kann, ob wir den Monat vor das Datum oder das Datum vor den Monat setzen. Angenommen, Sie versuchen, den 06.07.2000 einzufügen. Der Server kann nicht erkennen, ob das Datum der 6. Juli oder der 7. Juni ist. Allerdings verwendet es die Lokalisierungseinstellungen des Benutzerkontos, das ausgeführt wird, um herauszufinden, dass die Nichterwähnung des DATEFORMAT zu einem Fehler führen kann, da das Konto, das den Vorgang ausführt, in den meisten Fällen auf das USA-Format eingestellt ist, d. h. – Monat Tag Jahr (mdy) .

Der Fehler wurde verursacht, weil wir es speichern wollten unter dmy , nicht mdy . Die Verwendung von DATEFORMAT wird Ihnen jedoch dabei helfen, es loszuwerden.

Ausgabe:

Wir sind mit unserer Tabelle fertig. Jetzt prüfen wir, ob wir die gewünschte Ausgabe erhalten oder nicht.

Schritt 5: Daten der Tabelle anzeigen

Abfrage:

SELECT * FROM GFG_user;>

Ausgabe:

Wir haben unser deutsches Formatdatum erfolgreich in die Spalte Dt_FORMATTED übernommen.

Ein anderer Ansatz zum Einfügen des Datums in die Datenbank:

Wir können das Datum auch mit der Funktion „to_date“ in SQL einfügen. Die folgende Syntax kann verwendet werden:

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

Das Datumsformat kann unterschiedlicher Art sein, wie zum Beispiel: 'DD / MM / JJJJ' , „JJJJ-MM-TT“ , „mm-tt-jjjj“ .

Beispiel:

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

Ausgabe:

Ausgabe