2016-07-15 7 views
1

Я пытаюсь преобразовать 2016/07/15 (формат nvarchar) на этот datetime формат 2016-07-15 00:00:00 в sql-сервере. Но мне нужна часть времени, чтобы быть текущим временем. Может ли кто-нибудь помочь?Преобразование nvarchar в datetime sql server

Это мой зр:

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

ответ

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())) 
+0

Оке спасибо user3185569, у меня есть попробовать это, и это работает –

0

Попробуйте это ...

Просто время с вашим Выход

declare @DateTime varchar(50) 
set @DateTime = '2016/07/15' 
select convert(varchar, cast(@DateTime as datetime), 101) + ' ' + CONVERT(varchar, getdate(),108) 
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()) 
+0

я есть попробовать это, и она работает. но я не знаю, как это работает. вы можете объяснить это, пожалуйста? –

Смежные вопросы