TIMEFROMPARTS (Transact-SQL)

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

主题链接图标 Transact-SQL 语法约定

语法

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

参数

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

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

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

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

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

返回类型

time ( precision )

注释

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

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

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

示例

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)