如何将整数转换为varchar格式的日期时间

时间:2018-09-07 16:23:24

标签: sql-server datetime select ssms-2012

尝试将以下整数转换为datetime格式的varchar时出现此错误。

  

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

代码:

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

1 个答案:

答案 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

You can see other conversions here