Я пытаюсь использовать новую функцию try_convert в mssql2012 для преобразования строки даты/времени/смещения в datetimeoffset.Что не так с этим использованием try_convert?
Строка выглядит следующим образом: 2013-04-25T21: 56: 58.077-05: 00
Вот код - я знаю, что это синтаксический анализ не будет работать, так что я ожидал, что результат, который попал в " IS NULL "и верните« Cast Failed ». Это не то, что произошло - вместо этого я все еще получаю ошибку преобразования даты Msg 241. Есть идеи?
case
when try_convert(datetimeoffset, (cast(substring(lift.PlannedLiftDateTime,1,10) + ' ' + substring(lift.PlannedLiftDateTime,12,8) + ' ' + substring(lift.PlannedLiftDateTime,20,6) as datetimeoffset))) IS NULL
then 'Cast Failed'
when ltrim(rtrim(lift.PlannedLiftDateTime)) = ''
then NULL
else
'~' + lift.PlannedLiftDateTime + '~'
end as PlannedLiftDateTime,
Как вы знаете, что ошибка не исходит из другой части вашего SQL заявления? – RBarryYoung
@RBarryYoung Я получаю ту же ошибку, если я попытаюсь выполнить sqlfiddle: http://sqlfiddle.com/#!6/d41d8/3912 – Lamak