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