Combining (concatenating) date and time into a datetime

后端 未结 12 974
夕颜
夕颜 2020-12-08 15:06

Using SQL Server 2008, this query works great:

select CAST(CollectionDate as DATE), CAST(CollectionTime as TIME)
from field

Gives me two co

12条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2020-12-08 15:18

    This works in SQL 2008 and 2012 to produce datetime2:

    declare @date date = current_timestamp;
    declare @time time = current_timestamp;
    
    select 
    @date as date
    ,@time as time
    ,cast(@date as datetime) + cast(@time as datetime) as datetime
    ,cast(@time as datetime2) as timeAsDateTime2
    ,dateadd(dayofyear,datepart(dayofyear,@date) - 1,dateadd(year,datepart(year,@date) - 1900,cast(@time as datetime2))) as datetime2;
    

提交回复
热议问题