【问题标题】:Error converting varchar to datetime in SQL在 SQL 中将 varchar 转换为 datetime 时出错
【发布时间】:2014-11-18 02:34:31
【问题描述】:

我想从CRSE_EDTE(字符串)转换为datetime。当前CRSE_EDTE 日期格式为YYYYMM,因此我决定将28 作为每个日期(DD)的日期。

select 
    try_convert(datetime, [CRSE_EDTE], 112) + CRSE_EDTE + '28' as new_CRSE_EDTE
FROM 
   [SMBM_DBPELJ].[DBPELJ].[MSTUMASTER]

我收到一个错误:

消息 241,第 16 级,状态 1,第 1 行
从字符串转换日期和/或时间时转换失败。

【问题讨论】:

    标签: sql datetime sql-server-2012


    【解决方案1】:

    我没有你的数据库可以玩,但是这样的东西可以吗?

    select try_convert(datetime,LEFT([CRSE_EDTE], 4)+'-'+RIGHT([CRSE_EDTE],2)+'-28',111) as new_CRSE_EDTE
    FROM [SMBM_DBPELJ].[DBPELJ].[MSTUMASTER]
    

    【讨论】:

    • 感谢您的回复。我试过你的代码,错误在这里 Msg 245, Level 16, State 1, Line 2 Conversion failed when convert the varchar value '1991-1 -' to data type int.
    • 没问题!我很高兴它有所帮助。
    • 你能帮我解决上述问题吗?我正在更新另一个问题
    • 您想将更新的部分作为新问题发布吗?可能还有其他人比我更了解 MSSQL 更新命令。只需在 cmets 中留下指向新问题的链接,并在新问题中留下指向此问题的链接。当你这样做的时候,我会看看我是否能弄明白,但如果我不能,你将有更大的机会得到一个新问题的答案。
    • 好的。已经创建新帖子。这里stackoverflow.com/questions/26986502/…
    猜你喜欢
    • 2016-12-09
    • 1970-01-01
    • 2021-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-22
    • 1970-01-01
    • 2021-11-28
    相关资源
    最近更新 更多