SQL CONVERT字符串迄今为止的问题

时间:2016-09-21 09:55:47

标签: sql dashdb

我有一个包含字符串值的列,例如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上运行。

2 个答案:

答案 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)