Můžete použít T-SQL DATEFROMPARTS()
funkci v SQL Server vrátit datum hodnota, která se mapuje na části data, které zadáte jako celočíselné výrazy.
Funguje to tak, že zadáte tři hodnoty (jednu pro každý rok , měsíc a den hodnoty) a SQL Server vrátí datum hodnotu na základě vámi poskytnutých hodnot.
Příklady níže.
Syntaxe
Nejprve je zde syntaxe:
DATEFROMPARTS ( year, month, day )
Každý argument může být:
year
- Celočíselný výraz, který určuje rok.
month
- Celočíselný výraz, který určuje měsíc od 1 do 12.
day
- Celočíselný výraz, který určuje den.
Příklad
Zde je příklad použití:
SELECT DATEFROMPARTS( 2021, 05, 10 ) AS Result;
Výsledek:
+------------+ | Result | |------------| | 2021-05-10 | +------------+
Neplatné hodnoty
Budete muset zajistit, aby byly části data uvedeny ve správném pořadí, jinak byste mohli skončit s chybou. Ještě horší je, že se vám nemusí zobrazit chyba (pokud je denní část 12 nebo méně), a proto můžete přehlédnout velký problém se způsobem překladu data.
Zde je příklad neplatné hodnoty:
SELECT DATEFROMPARTS( 2021, 30, 10 ) AS Result;
Výsledek:
Cannot construct data type date, some of the arguments have values which are not valid.
K tomu dochází, protože jsme poskytli 30 jako měsíční část. Tato část bude přijímat pouze hodnoty mezi 1 a 12.
Nulové hodnoty
Pokud má některý z argumentů hodnotu null, výsledek je NULL
.
Zde je příklad použití hodnoty null:
SELECT DATEFROMPARTS( 2021, NULL, 10 ) AS Result;
Výsledek:
+----------+ | Result | |----------| | NULL | +----------+
Proto je pravděpodobně samozřejmé (ale i tak to řeknu), že pokud jsou všechny argumenty nulové hodnoty, výsledek je NULL
:
SELECT DATEFROMPARTS( NULL, NULL, NULL ) AS Result;
Výsledek:
+----------+ | Result | |----------| | NULL | +----------+