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

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

T-SQL TIMEFROMPARTS() функцията ви позволява да изградите време стойност от различните времеви части. Можете също да посочите точността на връщаната стойност.

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

Синтаксис

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

TIMEFROMPARTS ( hour, minute, seconds, fractions, precision )

Когато първите 4 аргумента са целочислени изрази, указващи тази конкретна част от времето. Петият аргумент е целочислен литерал, указващ точността на времето стойност за връщане.

Пример

Ето пример за демонстрация.

SELECT TIMEFROMPARTS( 23, 35, 29, 1234567, 7 ) AS Result;

Резултат:

+------------------+
| Result           |
|------------------|
| 23:35:29.1234567 |
+------------------+

В този случай посочих прецизна стойност от 7.

За да бъдем по-точни (без каламбур), аргументът за точност всъщност определя скала . Мащаб е броят на цифрите вдясно от десетичната запетая. Прецизност е общият брой цифри.

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

Ако някой от аргументите е невалиден, ще възникне грешка. Пример:

SELECT TIMEFROMPARTS( 23, 35, 61, 1234567, 7 ) AS Result;

Резултат:

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

В този случай предоставих минута аргумент на 61 .

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

Ще възникне и грешка, ако не предоставите правилния брой аргументи. Пример:

SELECT TIMEFROMPARTS( 23, 35, 29, 7 ) AS Result;

Резултат:

The timefromparts function requires 5 argument(s).

Нулеви стойности

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

SELECT TIMEFROMPARTS( 23, 35, NULL, 1234567, 7 ) AS Result;

Резултат:

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

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

SELECT TIMEFROMPARTS( 23, 35, 29, 1234567, NULL ) AS Result;

Резултат:

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

Отдалечено

Microsoft заявява, че TIMEFROMPARTS() функцията може да бъде отдалечена на сървъри на SQL Server 2012 (11.x) и по-нови версии. Не може да бъде отдалечено до сървъри, които имат версия по-ниска от SQL Server 2012 (11.x).

Подобна функция

Вижте също SMALLDATETIMEFROMPARTS() примери в SQL Server (T-SQL) за получаване на smalldatetime стойност вместо време стойност.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да намерите дублирани записи с помощта на клауза Group by и Having в SQL Server - SQL Server / TSQL Урок, част 132

  2. 4 начина да проверите дали таблица съществува, преди да я пуснете в SQL Server (T-SQL)

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

  4. Направете while цикъл в SQL Server 2008

  5. Вземете AVG, пренебрегвайки Null или Zero стойности