Я пытаюсь привести строку «2019-31-01 09:00:00» к дате.
SELECT CAST('2019-31-01 09:00:00.000' AS date);
SQL Server возвращает сообщение об ошибке: не удалось преобразовать дату и / или время из символьной строки.
Принимая во внимание
DECLARE @MyDate AS datetime = '2019-31-01 00:00:00';
SELECT CAST(@MyDate AS date)
--2019-01-31
Работает. Из-за локали. Смущает?