尝试将以下整数转换为datetime
格式的varchar
时出现此错误。
从字符串转换日期和/或时间时转换失败
代码:
CONVERT(VARCHAR(MAX), CAST('200901041421' AS DATETIME))
答案 0 :(得分:1)
您需要一个空格和一个冒号。我不确定您为什么要这样做……在前端(表示层)上以某种格式显示日期,并将日期存储为日期或日期时间在数据库中,您不会遇到此问题: )
SELECT CONVERT(VARCHAR(MAX), CAST('20090104 14:21' AS DATETIME))
此外,这里无需使用MAX
。那是浪费存储空间。这样的事情更有意义。
SELECT CONVERT(VARCHAR(24), CAST('20090104 14:21' AS DATETIME), 113)
使用列名...
SELECT CONVERT(VARCHAR(24), CAST(YourColumnName AS DATETIME), 113)
FROM YourTable