Как преобразовать строку в дату в T-SQL? - PullRequest
0 голосов
/ 12 июня 2019

Я определил свой запрос на обновление следующим образом, чтобы обновить Дата столбец.

declare @fromDate date;
set @fromDate = '2019-04-31'

update [dbo].[sites] 
  set [FromDate]= @fromDate 
where siteid=2832

Выше выдает следующую ошибку:

Преобразование не удалось при преобразованиидата и / или время из символьной строки.

Что я тут не так делаю?

Ответы [ 3 ]

3 голосов
/ 12 июня 2019

В апреле нет 31 дня, если вы пропустите неверную дату, вы получите ошибку.Попробуйте с какой-нибудь действительной датой, например 2019-04-30

0 голосов
/ 12 июня 2019

Если это сработает, скорее всего, зависит от того, какие настройки вы запускаете на своем сервере для дат. Вы можете использовать CONVERT(datetime, '2019-04-31'), чтобы преобразовать любую строку в тип datetime, поддерживаемый вашим сервером.

0 голосов
/ 12 июня 2019

Источник

Использование => SELECT STR_TO_DATE ("2017,8,14 10,40,10", "% Y,% m,% d% h,% i,% s");

declare @fromDate date;
set @fromDate = STR_TO_DATE("2019,04,31", "%Y,%m,%d");

  update [dbo].[sites] 
  set [FromDate]= @fromDate where siteid=2832

Может быть, это сработает.

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