我从下表中以格式:
获取日期作为字符串2014-09-02
是YYYY-MM-DD格式。
查询是:
SELECT VALUE FROM MYSCHEMA.MYTABLE WHERE CODE = 'MYDATE'
我想修改上面的查询,结果是:
201402
我试过了,但没有采用正确的格式:
select char(year(date(value))) || char(month(date(value))) from MYSCHEMA.MYTABLE WHERE CODE = 'MYDATE'
结果如下:
1
------------
2014 9
我有db2 9.5和我一起。
答案 0 :(得分:7)
如果你实际上获得DATE
数据类型(即使你不是,你也有ISO格式,那么DB2应该足够聪明,可以自动转换它),然后你可以使用VARCHAR_FORMAT
标量函数:
SELECT VARCHAR_FORMAT(VALUE, 'YYYYMM')
FROM MYSCHEMA.MYTABLE
WHERE CODE = 'MYDATE'
答案 1 :(得分:0)
如果你的所有字符串都采用完全相同的格式,为什么不用删除带有REPLACE()的破折号,然后抓取一个子字符串,如下所示:
SELECT SUBSTR(REPLACE(VALUE,'-',''),1,6) FROM MYSCHEMA.MYTABLE WHERE CODE='MY DATE'
另外,正如Dan所说,在您的示例中,您只选择了年份和日期,但我从您的代码中假设您想要年份和月份。