TIMEFROMPARTS (Transact-SQL)
适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (PDW)
对指定的时间返回 time 值(具有指定精度)。
语法
TIMEFROMPARTS ( hour, minute, seconds, fractions, precision )
参数
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 参数的用法:
如果 fractions 的值为 5、precision 的值为 1,则 fractions 的值表示 5/10 秒 。
如果 fractions 的值为 50、precision 的值为 2,则 fractions 的值表示 50/100 秒 。
如果 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)