Теперь я знаю, что этот вопрос задан несколько раз, и я прошел десятки ответов, но ничего не работает для меня .. Я пытаюсь преобразовать строку в datetime в SQL, но получаю следующее сообщение об ошибке:Преобразование строки в DateTime в SQL
Arithmetic overflow error converting expression to data type datetime.
Это запрос, я пытаюсь запустить:
SELECT MessageText,
CONVERT(datetime,SUBSTRING(MessageText, CHARINDEX('(', MessageText)+1,
CHARINDEX(')', MessageText) -
CHARINDEX('(', MessageText)-1)) AS TourTimeStamp,
TIMESTAMP
FROM tblMessageLog
WHERE MessageText LIKE 'Tour run timestamp%for tour%has been%'
ORDER BY TIMESTAMP DESC
Так, в MessageText
, есть отметка времени, что я ищу (столбец TimeStamp
на самом деле является только отметкой времени записи messagelog ...) и Я могу получить это с помощью подстроки.
Формат этой подстроки (TourTimeStamp
): dd/mm/yyy hh:mm:ss
, например. 25/02/2012 20:55:13
Любая помощь была бы принята с благодарностью.
Не могли бы вы включить результат этого «ПОДЪЕМА»? –
Что это за база данных? – MarcinJuraszek
Grzegorz W - я отредактировал вопрос, чтобы быть более ясным; формат даты, о которой я упоминал, является подстрокой, которую я получаю. Поэтому я могу успешно получить дату из поля MessageText, но в настоящее время она находится в формате String! – Kyle