我有一列,数据类型是字符串,显示'30MAY2014:00:00:00'这样的记录,有些行是空白的。现在我需要将字符串更改为日期,例如'20140530',但空白行仍将其保留为空白。我使用SQL Server 2012,这里是我的查询:如何将空白字符串转换为空白日期?
select
CONVERT(VARCHAR,substring(ColumnName,6,4))
+RIGHT('0'+ (CONVERT(VARCHAR,(CASE substring(ColumnName,3,3)
WHEN 'JAN' THEN 01
WHEN 'FEB' THEN 02
WHEN 'MAR' THEN 03
WHEN 'APR' THEN 04
WHEN 'MAY' THEN 05
WHEN 'JUN' THEN 06
WHEN 'JUL' THEN 07
WHEN 'AUG' THEN 08
WHEN 'SEP' THEN 09
WHEN 'OCT' THEN 10
WHEN 'NOV' THEN 11
ELSE 12
END))),2)
+ CONVERT(VARCHAR,substring(ColumnName],1,2))
FROM table
如果有记录之列,这是正确的,但空白行显示12 如何修改我的查询? 我还有一个专栏,这个月的文件显示所有的行都是空白的,我必须做完全一样的工作。将空白字符串更改为空白日期,我尝试相同的查询,SQL Server显示错误:从字符串转换日期和/或时间时转换失败。 任何建议都很感激。
什么是空的日期? “ –
”'现在我需要将字符串更改为日期,如'20140530''“** NO **。您需要将其更改为“DateTime”列。 –