T SQL Как конвертировать Varchar в Date - PullRequest
0 голосов
/ 21 января 2020

Я использую MS SQL Server 2016.

У меня есть поле «MyDate» в таблице «MyTable». Он содержит даты в varchar (10) в формате дд / мм / гггг, например, 21/01/2020

Как мне преобразовать их в SQL формат даты и времени?

Я пробовал:

select CONVERT(varchar(10), CAST(MyDate as date), 103) as 'dd/mm/yyyy' from MyTable

и

select FORMAT(CONVERT(DATE, MyDate, 21), 'dd/MM/yyyy') FROM MyTable

Но получите ошибку:

Conversion failed when converting date and/or time from character string.

Чего мне не хватает?

Ответы [ 2 ]

0 голосов
/ 22 января 2020

Вы можете использовать любой из следующих запросов.

Select CONVERT(date, '21/01/2020', 103)
SELECT Cast(convert(varchar, convert(date, '21/01/2020', 105), 101) as date)
SELECT cast(CONVERT(CHAR(10),CONVERT(DATETIME,LEFT('21/01/2020',10),105),101) as date);

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

enter image description here

Демоверсию можно найти здесь .

0 голосов
/ 21 января 2020

Вам необходимо преобразовать его в дату и время. Пожалуйста, попробуйте ниже запрос

   select CONVERT(datetime, '21/01/2020', 103) as 'dd/mm/yyyy'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...