Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

DATETIMEOFFSETFROMPARTS() Примери в SQL Server (T-SQL)

T-SQL има функция, наречена DATETIMEOFFSETFROMPARTS() което ви позволява да получите отместване на датата и времето стойност от различните отделни части на дата. По-конкретно, той връща datetimeoffset стойност за посочените дата и час и с посочените отмествания и точност.

Примери за тази функция по-долу.

Синтаксис

Синтаксисът е така:

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

Къде:

  • Първите 7 аргумента са целочислени изрази, посочващи тази конкретна част от дата/час.
  • hour_offset Аргументът е целочислен израз, указващ часовата част от изместването на часовата зона.
  • minute_offset е целочислен израз, указващ минутната част от изместването на часовата зона.
  • precision аргументът е целочислен литерал, указващ точността на datetimeoffset стойност, която трябва да бъде върната. Тази стойност всъщност определя мащаба (т.е. броя на цифрите вдясно от десетичната запетая).

Пример

Ето пример за употреба.

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

Резултат:

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

Невалидни аргументи

Трябва да се уверите, че всички аргументи са валидни, в противен случай ще получите грешка. Ето пример за предоставяне на част от час извън обхвата (25). Часовата част може да бъде само между 0 и 24.

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

Резултат:

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

Брой аргументи

Трябва да предоставите правилния брой аргументи (10). Ако не го направите, ще получите грешка.

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

Резултат:

The datetimeoffsetfromparts function requires 10 argument(s).

Нулеви аргументи

Ако някой от първите 9 аргумента е нулев, резултатът е NULL :

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

Резултат:

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

Ако обаче последният (прецизен) аргумент е нулев, тогава се връща грешка:

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

Резултат:

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

Вижте също DATETIME2FROMPARTS() Примери в SQL Server (T-SQL) за връщане на datetime2 стойност (без отместването).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да получите родителска таблица, референтна таблица, име на ограничение на външния ключ и колони в SQL Server - SQL Server / TSQL урок, част 71

  2. Идентификаторът от няколко части не можа да бъде обвързан

  3. Еквивалент на MySQL ПРИ АКТУАЛИЗИРАНЕ НА ДУБЛИКАТ КЛЮЧ в Sql Server

  4. Как да покажете съпоставянето на база данни в SQL Server (T-SQL)

  5. Как да определите стойността на полето, която не може да се преобразува в (десетична, float,int) в SQL Server