T-SQL 2005:添加日期和时间
T-SQL 2005: Add Date and Time
我有两个字段都是日期时间类型:
Date = '2011-1-01 00:00:00.000'
Time = '1900-01-01 3:31:19.000'
“1900-01-01”是默认值,所以我只对时间部分 (3:31:19.000) 感兴趣。
我想要的只是将日期和时间结合在一起。所以,对于这个例子,我想要一个能给我结果的查询:
Combined = '2011-1-01 3:31:19.000'
我正在使用 T-SQL 2005.
像这样
- Convert(date,...) --strips time
- Convert(varchar(),..,108) --strips
日期
查询
select Convert(date,'2011-1-01 00:00:00.000')
+' '+ convert(varchar(20),'1900-01-01 3:31:19.000',108)
如果您想要一个无字符串的选项,您可以将 DATEADD/DATEPART 个运算符堆叠在一起...
DECLARE @Date DATETIME = '2011-1-01 00:00:00.000'
, @Time DATETIME = '1900-01-01 3:31:19.000'
SELECT DATEADD(hh, DATEPART(hh, @Time), DATEADD(mi, DATEPART(mi, @Time), @Date)) --and so on
结果 2011-01-01 03:31:00.000
我有两个字段都是日期时间类型:
Date = '2011-1-01 00:00:00.000'
Time = '1900-01-01 3:31:19.000'
“1900-01-01”是默认值,所以我只对时间部分 (3:31:19.000) 感兴趣。
我想要的只是将日期和时间结合在一起。所以,对于这个例子,我想要一个能给我结果的查询:
Combined = '2011-1-01 3:31:19.000'
我正在使用 T-SQL 2005.
像这样
- Convert(date,...) --strips time
- Convert(varchar(),..,108) --strips 日期
查询
select Convert(date,'2011-1-01 00:00:00.000')
+' '+ convert(varchar(20),'1900-01-01 3:31:19.000',108)
如果您想要一个无字符串的选项,您可以将 DATEADD/DATEPART 个运算符堆叠在一起...
DECLARE @Date DATETIME = '2011-1-01 00:00:00.000'
, @Time DATETIME = '1900-01-01 3:31:19.000'
SELECT DATEADD(hh, DATEPART(hh, @Time), DATEADD(mi, DATEPART(mi, @Time), @Date)) --and so on
结果 2011-01-01 03:31:00.000