Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
sql日期函数_Sql_Oracle - Fatal编程技术网

sql日期函数

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

我有一个“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) 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;