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 的数据库表,其中包含以下记录:
ID | Hours | Minutes | Seconds |
---|---|---|---|
1 | 22 | 45 | 55 |
2 | 5 | 34 | 21 |
3 | 14 | 23 | 10 |
4 | 9 | 8 | 19 |
5 | 8 | 11 | 18 |
以下语句可用于使用记录获取时间值该表的各个列。
SELECT *, TIMEFROMPARTS(Hours, Minutes, Seconds, 0, 3) AS TIMEFROMPARTS_Value
FROM TimeTable;
这将产生如下所示的结果:
ID | Hours | Minutes | Seconds | TIMEFROMPARTS_Value |
---|---|---|---|---|
1 | 22 | 45 | 55 | 22:45:55.000 |
2 | 5 | 34 | 21 | 05:34:21.000 |
3 | 14 | 23 | 10 | 14:23:10.000 |
4 | 9 | 8 | 19 | 09:08:19.000 |
5 | 8 | 11 | 18 | 08:11:18.000 |