Grundlegende Datumsdatentypen in SQL
Wie werden Daten auf dem SQL -Server gespeichert??
Innerhalb des SQL-Servers werden Daten mit zwei 4-Byte-Ganzzahlen gespeichert. Die anfängliche Ganzzahl entspricht der Anzahl der Tage vor oder erfolgreich das Basisdatum des 1. Januar 1900. Die zweite Ganzzahl entspricht der Anzahl von 1/300. Sekunden, die seit Mitternacht verstrichen ist. Zum Beispiel wird der Datum „1. Januar 2000 12:00:00 Uhr“ als die beiden Ganzzahlen aufbewahrt - 36.529 (die Anzahl der Tage zwischen dem 1. Januar 1900 und 1. Januar 2000) und 43.200.000 (die Anzahl der 1/300. von einer Sekunde seit Mitternacht).
Der SQL-Server bietet auch eine Reihe integrierter Funktionen für die Arbeit mit Daten wie DATEADD, DATEIL und CONVERT. Termine.
Um die SQL -Abfragen in einer Datenbank durchzuführen, verwenden wir normalerweise ein Tool wie das SQL Server Management Studio (SSMS).
Erstellen eines [DBO].[Bestellungen] Tabelle
Um eine Tabelle in unserer Datenbank zu erstellen, müssen wir die folgenden Abfragen schreiben:
Tabelle erstellen [DBO].[AUFTRÄGE] (
[ord_number] int nicht null
,[ord_datetime] datetime null
,[ord_date] Datum null
,[deli_datetime] datetime null
,[last_vissit_date] Datum null
)
Einfügen der Daten in die [DBO].[Bestellungen] Tabelle
Fügen Sie die Werte in der Tabelle mit dem folgenden Befehl ein:
In [DBO] einfügen.[Bestellungen] ([ord_number], [ord_datetime], [ord_date], [deli_datetime], [last_vissit_date]))
WERTE
('1', '2021-10-01 10:30:00', '2021-10-01', '2021-10-12 10:11:10', '2021-11-01'),
('2', '2021-10-01 12:45:00', '2021-10-01', '2021-10-10 14:10:11', '2021-10-15'),
('3', '2021-10-30 13:25:00', '2021-10-30', '2021-11-05 13:22:12', '2021-12-30'),
('4', '2021-09-22 16:30:00', '2021-09-22', '2021-09-25 14:12:13', '2021-12-22'),
('5', '2021-01-10 18:15:00', '2021-01-10', '2021-02-01 11:15:14', '2022-01-10'),
('6', current_timestamp, convert (Datum, current_timestamp), datadd (tag, 5, current_timestamp), dataDD (Monat, 5, current_timestamp))
Konvertieren eines Datums in Zeichenfolge
Wenn wir die DateTime-Werte aus der Tabelle zurückbringen, werden die Ergebnisse als „2021-10-01 10:30:00.000 ". Wenn wir es jedoch in eine Zeichenfolge in unserem eigenen Format im SQL -Code konvertieren möchten, können wir dies mit der folgenden Funktion tun:
WÄHLEN
[ord_datetime]
,Konvertieren (varchar (20), [ord_datetime], 22) 'order_date_string' '
AUS
[DBO].[AUFTRÄGE]
Ausgang:
ord_datetime order_date_string
2021-10-01 10:30:00.000 10/01/21 10:30:00 Uhr
2021-10-01 12:45:00.000 10/01/21 12:45:00 Uhr
2021-10-30 13:25:00.000 10/30/21 13:25:00 Uhr
Finden eines bestimmten Datums mit der WHERE -Klausel
Um die Bestellungen zu finden, an denen das Bestelldatum am 1. Dezember 2021 ist, müssen wir der folgenden Anfrage folgen:
WÄHLEN
[ord_number]
,[ord_date]
AUS
[DBO].[AUFTRÄGE]
WO
[ord_date] = '01/10/2021 '
Ausgang:
ord_number ord_date
5 2021-01-10
5 2021-01-10
Das Datum von der Zeit trennen
Wir können die Konvertierungsfunktion auch an einem Datum verwenden, um nur den Datumswert abzurufen, indem wir einen Stil angeben. Dafür verwenden wir die folgende Abfrage:
Deklarieren Sie @DD als datetime
Set @dd = '2011-07-03 20:30:40'
Wählen Sie Convert (varchar, @dd, 103)
Ausgang:
(Kein Spaltenname)
1 03/07/2011
Das aktuelle Datum und die aktuelle Uhrzeit erhalten
Hier ist ein Beispiel für eine SQL -Abfrage, die das aktuelle Datum und die aktuelle Uhrzeit mit den Funktionen getDate und current_timestamp abruft:
WÄHLENAusgang:
(Kein Spaltenname) (kein Spaltenname)Den Unterschied zwischen zwei Daten finden
Es ist oft hilfreich, den Unterschied zwischen zwei Daten zu finden. Damit können wir Dinge wie die Anzahl der Tage zwischen der Bestellung und einem Liefertermin tun.
Hier ist ein Beispiel:
WÄHLENAusgang:
ord_date deli_datetime del_daysAbschluss
Wir haben gelernt, wie man die Daten, Zeiten und Saiten mit den integrierten Funktionen manipuliert. Diese Funktionen sind sehr praktisch, um Berechnungen und Transformationen für die in den SQL Server -Tabellen gespeicherten Daten durchzuführen. Durch das Verständnis und die Verwendung dieser Datentypen und Funktionen effektiv können wir effizientere und leistungsfähigere SQL -Abfragen schreiben.