SQL Server 函数

SQL Server (Transact-SQL) TIMEFROMPARTS() 函数返回指定时间和指定精度的时间值。

如果任何参数具有空值,TIMEFROMPARTS() 函数将返回 NULL。但是,如果精度参数为空,则会引发错误。对于无效参数,将引发错误。

fractions 参数取决于 precision 参数。例如,如果精度为 7,则每个小数代表 100 纳秒;如果精度为 3,则每个小数代表一毫秒。如果精度的值为零,则分数的值也必须为零;

语法

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

参数

hour必填。 指定时间值的小时。
minute必填。 指定时间值的分钟。
seconds必填。 指定时间值的秒数。
fractions必填。 指定时间值的分数。
precision必填。 指定要返回的时间值的精度。

返回值

返回指定时间值

示例 1:

下面的示例展示了 TIMEFROMPARTS() 函数的用法。

SELECT TIMEFROMPARTS(22, 45, 58, 0, 0);
Result: '22:45:58.0000000'

SELECT TIMEFROMPARTS(22, 45, 58, 4, 1);
Result: '22:45:58.4'

SELECT TIMEFROMPARTS(22, 45, 58, 40, 2);
Result: '22:45:58.40'

SELECT TIMEFROMPARTS(22, 45, 58, 400, 3);
Result: '22:45:58.400' 

示例 2:

考虑一个名为 TimeTable 的数据库表,其中包含以下记录:

IDHoursMinutesSeconds
1224555
253421
3142310
49819
581118

以下语句可用于使用记录获取时间值该表的各个列。

SELECT *, TIMEFROMPARTS(Hours, Minutes, Seconds, 0, 3) AS TIMEFROMPARTS_Value 
FROM TimeTable; 

这将产生如下所示的结果:

IDHoursMinutesSecondsTIMEFROMPARTS_Value
122455522:45:55.000
25342105:34:21.000
314231014:23:10.000
4981909:08:19.000
58111808:11:18.000