首页 > 解决方案 > 如何将整数转换为 varchar 格式的日期时间

问题描述

尝试将以下整数转换datetimevarchar格式时出现此错误。

从字符串转换日期和/或时间时转换失败

代码:

CONVERT(VARCHAR(MAX), CAST('200901041421' AS DATETIME))

标签: sql-serverdatetimeselectssms-2012

解决方案


你需要一个空格和一个冒号。我不确定您为什么要这样做...在前端(表示层)上以某种格式显示日期并将日期存储为数据库中的日期或日期时间,您不会遇到此问题: )

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

您可以在此处查看其他转换


推荐阅读