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

时间:2021-04-15 02:03:11

标签: sql-server

我有一个 varchar 字段,它应该是按要求显示的日期,它是手动加载的,但输入的值不正确。

enter image description here

我使用下面的语句,但得到

<块引用>

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

Select cast(c008_instln_start_dt as date).

谁能帮我解决这个问题?

谢谢。

1 个答案:

答案 0 :(得分:1)

假设您有两种不同的格式

示例

Declare @YourTable Table ([YourCol] varchar(50))  Insert Into @YourTable Values 
 ('2009-03-18')
,('18/03/09')
 
Select * 
      ,AsDate = case when YourCol like '__/__/__' 
                     then try_convert(date,YourCol,3)
                     else try_convert(date,YourCol)
                end
 From  @YourTable

结果

YourCol     AsDate
2009-03-18  2009-03-18
18/03/09    2009-03-18