将nvarchar转换为datetime sql server

时间:2016-07-15 08:05:47

标签: sql-server datetime

我尝试在sql server中将2016/07/15(nvarchar格式)转换为此datetime格式2016-07-15 00:00:00。但我需要时间部分成为当前时间。任何人都可以帮忙吗?

这是我的sp:

declare @DateTime varchar(50)
set @DateTime = '2016/07/15'
select convert(varchar, cast(@DateTime as datetime), 120) 

3 个答案:

答案 0 :(得分:0)

您可以使用:

declare @DateTime varchar(50)
set @DateTime = CONCAT('2016/07/15' , ' ', CONVERT(TIME, GETDATE()))

select @DateTime
select convert(varchar, cast(@DateTime as datetime2(7)), 120) 

或者将CONCAT替换为:

set @DateTime = '2016/07/15' + ' ' +  CONVERT(NVARCHAR(50), CONVERT(TIME, GETDATE()))

答案 1 :(得分:0)

试试这个......

只需与输出结束时间

declare @DateTime varchar(50)
set @DateTime = '2016/07/15'
select convert(varchar, cast(@DateTime as datetime), 101) + ' ' + CONVERT(varchar, getdate(),108)

答案 2 :(得分:0)

试试这个,

DECLARE @DateTime VARCHAR(50)

SET @DateTime = '2016/07/15'

SELECT DATEADD(day, 0, DATEDIFF(day, 0, @DateTime)) + DATEADD(day, 0 - DATEDIFF(day, 0, getdate()), getdate())