现在我知道这个问题已经被问了好几次,我已经通过几十个答案了,但似乎没有任何工作,我..我试图将字符串转换成datetime在SQL,但得到以下错误:在SQL字符串转换为DateTime
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条目的时间戳...)和我可以通过使用子字符串成功获取此。
此substring(TourTimeStamp
)的格式为:例如dd/mm/yyy hh:mm:ss
25/02/2012 20:55:13
任何帮助将不胜感激。
你能否包含这个'SUBSTRING'的结果? – 2013-03-19 10:31:36
它是什么数据库? – MarcinJuraszek 2013-03-19 10:31:56
Grzegorz W - 我编辑的问题更清晰;我提到的日期格式是我得到的子串。所以我可以成功地从MessageText字段获取日期,但它目前是字符串格式! – Kyle 2013-03-19 10:37:06