sql日期函数
我有一个“date1”字段,其值从1960年1月1日到2014年9月14日。我必须把这个领域分成几个部分 从今天开始,小组将持续两个月sql日期函数,sql,oracle,Sql,Oracle,我有一个“date1”字段,其值从1960年1月1日到2014年9月14日。我必须把这个领域分成几个部分 从今天开始,小组将持续两个月 '1' (sept 2014, aug 2014) (july 2014, june 2014) to '2' (may 2014, apr 2014) to '3' (mar 2014, feb 2014) to '4' (jan 2014, dec 2013) to '5' (nov 2013,oct 2013) to '6' (<=sept 2013
'1' (sept 2014, aug 2014)
(july 2014, june 2014) to '2'
(may 2014, apr 2014) to '3'
(mar 2014, feb 2014) to '4'
(jan 2014, dec 2013) to '5'
(nov 2013,oct 2013) to '6'
(<=sept 2013) to '7'
如何对数据进行分组?简单、详细且静态的解决方案如下:
WITH t1 AS
(
SELECT CASE WHEN date1 >= TO_DATE('1-AUG-2014') AND date1 < TO_DATE('1-OCT-2014') THEN 1 ELSE
CASE WHEN date1 >= TO_DATE('1-JUN-2014') AND date1 < TO_DATE('1-AUG-2014') THEN 2 ELSE
... etc. END AS dategroup,
othercolumns
FROM Table1
)
SELECT dategroup FROM t1
GROUP BY dategroup;