Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

DATETIMEOFFSETFROMPARTS() Przykłady w SQL Server (T-SQL)

T-SQL ma funkcję o nazwie DATETIMEOFFSETFROMPARTS() który pozwala uzyskać przesunięcie daty i godziny wartość z różnych oddzielnych części daty. W szczególności zwraca przesunięcie daty i godziny wartość dla określonej daty i czasu oraz z określonymi przesunięciami i precyzją.

Przykłady tej funkcji poniżej.

Składnia

Składnia wygląda tak:

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

Gdzie:

  • Pierwszych 7 argumentów to wyrażenia całkowite określające tę konkretną część daty/czasu.
  • hour_offset argument jest wyrażeniem całkowitym określającym część godzinową przesunięcia strefy czasowej.
  • minute_offset jest wyrażeniem całkowitym określającym część minutową przesunięcia strefy czasowej.
  • precision argument jest literałem całkowitym określającym dokładność przesunięcie daty i godziny wartość do zwrócenia. Ta wartość faktycznie określa skalę (tj. liczbę cyfr na prawo od miejsca dziesiętnego).

Przykład

Oto przykład użycia.

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

Wynik:

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

Nieprawidłowe argumenty

Musisz upewnić się, że wszystkie argumenty są prawidłowe, w przeciwnym razie otrzymasz błąd. Oto przykład podania części godzinowej poza zakresem (25). Część godzinowa może wynosić tylko od 0 do 24.

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

Wynik:

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

Liczba argumentów

Musisz podać poprawną liczbę argumentów (10). Jeśli tego nie zrobisz, pojawi się błąd.

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

Wynik:

The datetimeoffsetfromparts function requires 10 argument(s).

Argumenty zerowe

Jeśli którykolwiek z pierwszych 9 argumentów jest pusty, wynikiem jest NULL :

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

Wynik:

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

Jeśli jednak ostatni (precyzyjny) argument ma wartość null, zwracany jest błąd:

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

Wynik:

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

Zobacz też Przykłady DATETIME2FROMPARTS() w SQL Server (T-SQL) dotyczące zwracania datetime2 wartość (bez przesunięcia).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Prosty przewodnik po tym, jak używać podzapytań w SQL Server

  2. Odpowiednik funkcji Sleep() w SQL Server:instrukcja WAITFOR

  3. jakikolwiek limit liczby połączeń SQL Server?

  4. Tymczasowe wyłączenie ograniczeń (MS SQL)

  5. Przekaż tabelę jako parametr do UDF serwera sql