SQL Server (Transact-SQL) DATETIMEFROMPARTS() 函数从指定的日期和时间参数返回日期时间值。
如果任何参数具有空值,DATETIMEFROMPARTS() 函数将返回 NULL。对于无效参数,将引发错误。
语法
DATETIMEFROMPARTS(year, month, day, hour, minute, seconds, milliseconds)
参数
year | 必填。 指定日期时间值的年份。 |
month | 必填。 指定日期时间值的月份。 |
day | 必填。 指定日期时间值的日期。 |
hour | 必填。 指定日期时间值的小时。 |
minute | 必填。 指定日期时间值的分钟。 |
seconds | 必填。 指定日期时间值的秒数。 |
milliseconds | 必填。 指定日期时间值的毫秒数。 |
返回值
返回指定部分的日期时间值。
示例 1:
下面的示例展示了 DATETIMEFROMPARTS() 函数的用法。
SELECT DATETIMEFROMPARTS(1999, 10, 25, 22, 45, 58, 0);
Result: '1999-10-25 22:45:58.000'
SELECT DATETIMEFROMPARTS(1999, 10, 25, 22, 45, 58, 500);
Result: '1999-10-25 22:45:58.500'
示例 2:
考虑一个名为DateTimeTable的数据库表,其中包含以下记录:
ID | Year | Month | Day | Hours | Minutes | Seconds |
---|---|---|---|---|---|---|
1 | 1999 | 3 | 23 | 22 | 45 | 55 |
2 | 2003 | 6 | 8 | 5 | 34 | 21 |
3 | 2010 | 11 | 28 | 14 | 23 | 10 |
4 | 2004 | 8 | 14 | 9 | 8 | 19 |
5 | 2012 | 1 | 18 | 8 | 11 | 18 |
以下语句可用于使用各列的记录来获取日期时间值
SELECT *, DATETIMEFROMPARTS(Year, Month, Day, Hours, Minutes, Seconds, 0)
AS DATETIMEFROMPARTS_Value FROM DateTimeTable;
这将产生如下所示的结果:
ID | Year | Month | Day | Hours | Minutes | Seconds | DATETIMEFROMPARTS_Value |
---|---|---|---|---|---|---|---|
1 | 1999 | 3 | 23 | 22 | 45 | 55 | 1999-03-23 22:45:55.000 |
2 | 2003 | 6 | 8 | 5 | 34 | 21 | 2003-06-08 05:34:21.000 |
3 | 2010 | 11 | 28 | 14 | 23 | 10 | 2010-11-28 14:23:10.000 |
4 | 2004 | 8 | 14 | 9 | 8 | 19 | 2004-08-14 09:08:19.000 |
5 | 2012 | 1 | 18 | 8 | 11 | 18 | 2012-01-18 08:11:18.000 |