【问题标题】:How to convert integer into datetime in varchar format如何将整数转换为 varchar 格式的日期时间
【发布时间】:2023-04-08 09:27:01
【问题描述】:

我在尝试以varchar 格式将以下整数转换为datetime 时遇到此错误。

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

代码:

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

【问题讨论】:

    标签: sql-server datetime select ssms-2012


    【解决方案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

    【讨论】:

    • 如果我有大约一百万个这样的日期,如何配置它
    • 好吧,我当然会使用列名代替文字值。
    • CONVERT(VARCHAR(MAX),cast( stuff(stuff(p.exitdate,7,8,' '),12,13,':') as datetime),121)
    • 啊,我明白你现在在问什么了。我也是这样做的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-02
    • 2013-08-13
    • 2017-12-02
    • 1970-01-01
    • 2016-07-16
    相关资源
    最近更新 更多