我有一个包含字符串值的列,例如05.2015
。
我需要以前2个字符为月份且日期始终为1的格式获取DATE值...
所以在这个例子中它将是01/05/2015 ...或2015-05-01 ..取决于数据库。
我试过
select CONVERT(VARCHAR(7),"String_Date_column",0) from TABLE;
但是我收到了这个错误:
"没有授权的例行程序" CONVERT"类型"功能"找到了兼容的参数.. SQLCODE = -440,SQLSTATE = 42884,DRIVER = 3.69.56"。
我在dashDB上运行。
答案 0 :(得分:1)
TO_DATE (CD."Application_Creation_Period",'mm.yyyy')
工作得很好。我需要添加CASE
,因为该列还包含一个char值“#”。所以完整的答案是:
select case
when "string_date_column" = '#' then null
else TO_DATE ("string_date_column",'mm.yyyy')
end as "new date" from table;
答案 1 :(得分:0)
试试这个
SELECT cast(substring(String_Date_column,4,4)+substring(String_Date_column,1,2)+'01' as date)