在SQL中将varchar转换为datetime时出错

时间:2014-11-18 02:34:32

标签: sql datetime sql-server-2012

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

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

我收到错误:

  

Msg 241,Level 16,State 1,Line 1
  从字符串转换日期和/或时间时转换失败。

1 个答案:

答案 0 :(得分:0)

我没有你的数据库可以使用,但这样的工作会起作用吗?

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