Sql Server Javascript формат даты varchar на сегодняшний день - PullRequest
0 голосов
/ 05 июля 2018

в SQL Server 2012 a имеет Varchar (200), содержащий такие значения, как (JS .toString () date):

Thu Jul 05 2018 20:43:14 GMT+0200

Есть ли простой способ конвертировать varchar в datetime? Я пробовал с

convert

, но я не смог найти стиль даты.

1 Ответ

0 голосов
/ 05 июля 2018

Если вы можете изменить JavaScript, используйте toISOString вместо toString. Затем на сервере Sql:

convert(datetime, @YourVarChar, 127)

Если не можете, попробуйте это:

DECLARE @myDate as varchar(35) = 'Thu Jul 05 2018 20:43:14 GMT+0200';
Declare @myMonth as char(3),
@myDay as char(2),
@myYear as char(4),
@myTime as char(8),
@parseMe as varchar(24),
@newDateTime as datetime;

set @myMonth = SUBSTRING(@myDate,5,3);
set @myDay = SUBSTRING(@myDate,9,2);
set @myYear = SUBSTRING(@myDate,12,4);
set @myTime = SUBSTRING(@myDate,17,8);
set @parseMe = @myDay + ' ' + @myMonth + ' ' + @myYear + ' ' + @myTime + ':000'
set @newDateTime = convert(datetime,@parseMe,113)

Немного грязно, но работает. Также не учитывает часовой пояс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...