TIMEFROMPARTS (Transact-SQL)

适用于:yesSQL Server(所有受支持的版本)YesAzure SQL 数据库YesAzure SQL 托管实例yesAzure Synapse Analytics yesAnalytics Platform System (PDW)

对指定的时间返回 time 值(具有指定精度)

Topic link iconTransact-SQL 语法约定

语法

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

注意

若要查看 SQL Server 2014 及更早版本的 Transact-SQL 语法,请参阅早期版本文档

参数

hour
用于指定小时的整数表达式。

minute
用于指定分钟的整数表达式。

seconds
用于指定秒的整数表达式。

fractions
用于指定小数部分的整数表达式。

精度
整数文字,用于指定要返回的 time 值的精度

返回类型

time( precision )

备注

TIMEROMPARTS 返回完全初始化的时间值。 如果参数无效,则引发错误。 如果任何参数都为 null,则返回 null。 但是,如果 precision 参数为 Null,则会引发错误

fractions 参数取决于 precision 参数。 例如,如果 precision 为 7,则每个分数表示 100 纳秒;如果 precision 为 3,则每个分数表示 1 毫秒。 如果 precision 的值为零,则 fractions 的值也必须为零;否则将引发错误

此函数可以在 SQL Server 2012 (11.x) 和更高版本的服务器上远程执行。 它不能在版本低于 SQL Server 2012 (11.x) 的服务器上远程执行。

示例

A. 不包含秒的小数部分的简单示例

SELECT TIMEFROMPARTS ( 23, 59, 59, 0, 0 ) AS Result;  

下面是结果集:

Result  
--------------------  
23:59:59.0000000  
  
(1 row(s) affected)  

B. 包含秒的小数部分的示例

以下示例演示了 fractions 和 precision 参数的用法

  1. 如果 fractions 的值为 5、precision 的值为 1,则 fractions 的值表示 5/10 秒 。

  2. 如果 fractions 的值为 50、precision 的值为 2,则 fractions 的值表示 50/100 秒 。

  3. 如果 fractions 的值为 500、precision 的值为 3,则 fractions 的值表示 500/1000 秒 。

SELECT TIMEFROMPARTS ( 14, 23, 44, 5, 1 );  
SELECT TIMEFROMPARTS ( 14, 23, 44, 50, 2 );  
SELECT TIMEFROMPARTS ( 14, 23, 44, 500, 3 );  
GO  

下面是结果集:

----------------  
14:23:44.5  
  
(1 row(s) affected)  
  
----------------  
14:23:44.50  
  
(1 row(s) affected)  
  
----------------  
14:23:44.500  
  
(1 row(s) affected)