sql >> Databáze >  >> RDS >> Sqlserver

DATETIMEOFFSETFROMPARTS() Příklady v SQL Server (T-SQL)

T-SQL má funkci nazvanou DATETIMEOFFSETFROMPARTS() který vám umožní získat datetimeoffset hodnotu z různých samostatných částí data. Konkrétně vrací datetimeoffset hodnotu pro zadané datum a čas a se zadanými posuny a přesností.

Příklady této funkce níže.

Syntaxe

Syntaxe vypadá takto:

DATETIMEOFFSETFROMPARTS ( year, month, day, hour, minute, seconds, fractions, hour_offset, minute_offset, precision )

Kde:

  • Prvních 7 argumentů jsou celočíselné výrazy určující konkrétní část data/času.
  • hour_offset argument je celočíselný výraz určující hodinovou část posunu časového pásma.
  • minute_offset je celočíselný výraz určující minutovou část posunu časového pásma.
  • precision argument je celočíselný literál určující přesnost datetimeoffset hodnotu, která má být vrácena. Tato hodnota ve skutečnosti určuje měřítko (tj. počet číslic napravo od desetinného místa).

Příklad

Zde je příklad použití.

SELECT DATETIMEOFFSETFROMPARTS( 2021, 05, 10, 23, 35, 29, 500, 12, 30, 4 ) 
AS Result;

Výsledek:

Result
----------------------------------
2021-05-10 23:35:29.0500 +12:30

Neplatné argumenty

Musíte se ujistit, že všechny argumenty jsou platné, jinak dostanete chybu. Zde je příklad poskytnutí části hodiny mimo rozsah (25). Hodinová část může být pouze mezi 0 a 24.

SELECT DATETIMEOFFSETFROMPARTS( 2021, 05, 10, 25, 35, 29, 500, 12, 30, 4 ) 
AS Result;

Výsledek:

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

Počet argumentů

Musíte zadat správný počet argumentů (10). Pokud tak neučiníte, zobrazí se chyba.

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

Výsledek:

The datetimeoffsetfromparts function requires 10 argument(s).

Nulové argumenty

Pokud je některý z prvních 9 argumentů prázdný, výsledek je NULL :

SELECT DATETIMEOFFSETFROMPARTS( 2021, 05, 10, NULL, 35, 29, 500, 12, 30, 4 ) 
AS Result;

Výsledek:

Result
----------------------------------
NULL

Pokud je však poslední argument (přesnost) null, vrátí se chyba:

SELECT DATETIMEOFFSETFROMPARTS( 2021, 05, 10, 23, 35, 29, 500, 12, 30, NULL ) 
AS Result;

Výsledek:

Scale argument is not valid. Valid expressions for data type datetimeoffset scale argument are integer constants and integer constant expressions.

Viz také příklady DATETIME2FROMPARTS() v SQL Server (T-SQL) pro vrácení datetime2 hodnotu (bez offsetu).


  1. Použití výrazů k filtrování dat databáze

  2. MySQL Pořadí podle čísla, Null poslední

  3. Pochopení protokolu auditu ProxySQL

  4. Příkaz Spool:Nevypisujte příkaz SQL do souboru