sql-server - 如何将整数转换为 varchar 格式的日期时间
问题描述
尝试将以下整数转换datetime
为 varchar
格式时出现此错误。
从字符串转换日期和/或时间时转换失败
代码:
CONVERT(VARCHAR(MAX), CAST('200901041421' AS DATETIME))
解决方案
你需要一个空格和一个冒号。我不确定您为什么要这样做...在前端(表示层)上以某种格式显示日期并将日期存储为数据库中的日期或日期时间,您不会遇到此问题: )
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