この質問が何度か行われ、何十もの回答を試しましたが、何もうまくいかないようです。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
列は実際にはメッセージログエントリのタイムスタンプにすぎません...)、サブストリングを使用してこれを正常に取得できます。
この部分文字列(TourTimeStamp
)の形式は次のとおりですdd/mm/yyy hh:mm:ss
。25/02/2012 20:55:13
どんな助けでも大歓迎です。