Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

DATEFROMPARTS()-Beispiele in SQL Server (T-SQL)

Sie können das T-SQL DATEFROMPARTS() verwenden Funktion in SQL Server, um ein Datum zurückzugeben Wert, der den Datumsteilen zugeordnet ist, die Sie als Ganzzahlausdrücke bereitstellen.

Es funktioniert so, dass Sie drei Werte angeben (einen für jedes Jahr , Monat , und Tag Werte), und SQL Server gibt ein Datum zurück Wert basierend auf den von Ihnen angegebenen Werten.

Beispiele unten.

Syntax

Hier ist zunächst die Syntax:

DATEFROMPARTS ( year, month, day )

Hier ist, was jedes Argument sein kann:

year
Ein ganzzahliger Ausdruck, der ein Jahr angibt.
month
Ein ganzzahliger Ausdruck, der einen Monat von 1 bis 12 angibt.
day
Ein ganzzahliger Ausdruck, der einen Tag angibt.

Beispiel

Hier ist ein Verwendungsbeispiel:

SELECT DATEFROMPARTS( 2021, 05, 10 ) AS Result;

Ergebnis:

+------------+
| Result     |
|------------|
| 2021-05-10 |
+------------+

Ungültige Werte

Sie müssen sicherstellen, dass die Datumsteile in der richtigen Reihenfolge bereitgestellt werden, da Sie sonst mit einem Fehler enden könnten. Schlimmer noch, Sie erhalten möglicherweise keinen Fehler (wenn der Tagesabschnitt 12 oder weniger beträgt) und könnten daher ein großes Problem mit der Art und Weise übersehen, wie das Datum übersetzt wird.

Hier ist ein Beispiel für einen ungültigen Wert:

SELECT DATEFROMPARTS( 2021, 30, 10 ) AS Result;

Ergebnis:

Cannot construct data type date, some of the arguments have values which are not valid. 

Dies liegt daran, dass wir 30 als Monatsteil angegeben haben. Dieser Teil akzeptiert nur Werte zwischen 1 und 12.

Nullwerte

Wenn eines der Argumente Nullwerte sind, ist das Ergebnis NULL .

Hier ist ein Beispiel mit einem Nullwert:

SELECT DATEFROMPARTS( 2021, NULL, 10 ) AS Result;

Ergebnis:

+----------+
| Result   |
|----------|
| NULL     |
+----------+

Daher ist es wahrscheinlich selbstverständlich (aber ich sage es trotzdem), dass das Ergebnis NULL ist, wenn alle Argumente Nullwerte sind :

SELECT DATEFROMPARTS( NULL, NULL, NULL ) AS Result;

Ergebnis:

+----------+
| Result   |
|----------|
| NULL     |
+----------+