DATETIME2FROMPARTS (Transact-SQL)
适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (PDW)
此函数对指定日期和时间参数返回 datetime2 值。 返回值具有由 precision 参数指定的精度。
语法
DATETIME2FROMPARTS ( year, month, day, hour, minute, seconds, fractions, precision )
参数
year
指定年份的整数表达式。
month
指定月份的整数表达式。
day
指定日期的整数表达式。
hour
指定小时的整数表达式。
minute
指定分钟的整数表达式。
seconds
指定秒数的整数表达式。
fractions
指定秒的小数形式值的整数表达式。
精度
整数表达式,用于指定 DATETIME2FROMPARTS
将返回的 datetime2 值的精度。
返回类型
datetime2( precision )
注解
DATETIME2FROMPARTS
返回完全初始化的 datetime2 值。 如果至少有一个必需参数具有无效值,DATETIME2FROMPARTS
将引发错误。 如果至少有一个必需参数具有 NULL 值,则 DATETIME2FROMPARTS
返回 NULL。 但是,如果 precision 参数具有 NULL 值,DATETIME2FROMPARTS
将引发错误。
fractions 参数取决于 precision 参数。 例如,如果 precision 值为 7,则每个分数表示 100 纳秒;如果 precision 为 3,则每个分数表示 1 毫秒。 如果 precision 的值为零,则 fractions 的值也必须为零;否则 DATETIME2FROMPARTS
将引发错误。
此函数可以在 SQL Server 2012 (11.x) 服务器以及更高版本上远程执行。 但在 SQL Server 2012 (11.x) 之下的服务器版本中无法远程执行。
示例
A. 不包含秒的小数部分的示例
SELECT DATETIME2FROMPARTS ( 2010, 12, 31, 23, 59, 59, 0, 0 ) AS Result;
结果集如下。
Result
---------------------------
2010-12-31 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 DATETIME2FROMPARTS ( 2011, 8, 15, 14, 23, 44, 5, 1 );
SELECT DATETIME2FROMPARTS ( 2011, 8, 15, 14, 23, 44, 50, 2 );
SELECT DATETIME2FROMPARTS ( 2011, 8, 15, 14, 23, 44, 500, 3 );
GO
结果集如下。
----------------------
2011-08-15 14:23:44.5
(1 row(s) affected)
----------------------
2011-08-15 14:23:44.50
(1 row(s) affected)
----------------------
2011-08-15 14:23:44.500
(1 row(s) affected)