Здесь есть пара проблем. Во-первых, вы выбираете тип данных, но я просто повторю свой комментарий для этого: "" я пытаюсь преобразовать это в формат даты "* Это совершенно неправильный подход. Прекратите сохранять датыв качестве varchar
используйте тип данных даты и времени . Причиной возникновения этой ошибки является неправильный выбор типов данных. Исправьте это и заставьте слой представления работать с форматированием. "
Теперь идем дальше. У вас есть выражение ниже:
CONVERT(varchar(50), CAST(order_date AS datetime),121)
Во-первых, поскольку ваше значение равно varchar
, вам нужно указать SQL Server формат, в котором он находится;dd/MM/yyyy hh:mm:ss
(я думаю, что '05/11'
неоднозначно)) не однозначно. То, что у вас есть, это британский стиль, который является стилем 103:
CONVERT(datetime,'05/11/2015 07:54:16',103)
Теперь вы можете преобразовать это в ваш формат ISO:
CONVERT(varchar(23),CONVERT(datetime,'05/11/2015 07:54:16',103),121)
Это возвращает varchar
значение '2015-11-05 07:54:16.000'