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 )
注意
若要查看 SQL Server 2014 (12.x) 及更早版本的 Transact-SQL 语法,请参阅早期版本文档。
参数
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)
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈