首先, 你可以先使用 TO_DATE 函数, 把 varchar 类型的数据, 转换为 日期类型的。
例如:
db2 => SELECT
db2 (cont.) => TO_DATE('2011.10.01', 'YYYY.MM.DD')
db2 (cont.) => FROM SYSIBM.SYSDUMMY1;
1
--------------------------
2011-10-01-00.00.00.000000
1 条记录已选择。
然后, 使用 MONTH ( 上一步骤取得的 日期类型的数据 ) 来获取 具体的 月的数值。
with t1(m, d) as (
select '2013/01/13', 10000 from sysibm.sysdummy1
union all select '2013/01/03', 5000 from sysibm.sysdummy1
union all select '2013/02/03', 5000 from sysibm.sysdummy1
union all select '2013/04/03', 5000 from sysibm.sysdummy1
union all select '2013/11/03', 5000 from sysibm.sysdummy1
),
t2(m,d) as (
select case when substr(m,6,2) in ('01','02','03') then '1-3月'
when substr(m,6,2) in ('04','05','06') then '4-6月'
when substr(m,6,2) in ('07','08','09') then '7-9月'
else '10-12月'
end, d
from t1
)
select m, sum(d)
from t2
group by m