未测试 select decode(sign((日期-trunc(日期,mm))-25),1,trunc(日期+10,mm),trunc(日期,mm)),商场,sum(销售额) from 表1 group by 商场,decode(sign((日期-trunc(日期,mm))-25),1,trunc(日期+10,mm),trunc(日期,mm));
To:onejune4450(中文字符) 能解释一下你写的这句话吗?谢谢
select decode(sign((日期-trunc(日期,'mm'))-25),1,to_char(trunc(日期+10,'mm'),'YYYYMM'),to_char(trunc(日期,'mm'),'YYYYMM')),商场,sum(销售额) from 表1 group by 商场,decode(sign((日期-trunc(日期,'mm'))-25),1,to_char(trunc(日期+10,'mm'),'YYYYMM'),to_char(trunc(日期,'mm'),'YYYYMM'));trunc(日期)返回参数日期所在月份的第一天, sign(数字)正数返回1,零返回0,负数返回-1 不谢
写错了,-24 select decode(sign((日期-trunc(日期,'mm'))-24),1,to_char(trunc(日期+10,'mm'),'YYYYMM'),to_char(trunc(日期,'mm'),'YYYYMM')),商场,sum(销售额) from 表1 group by 商场,decode(sign((日期-trunc(日期,'mm'))-24),1,to_char(trunc(日期+10,'mm'),'YYYYMM'),to_char(trunc(日期,'mm'),'YYYYMM'));
select decode(sign(to_char(日期,'dd')-24),1,trunc(add_months(日期,1),'mm'),trunc(日期,'mm')),商场,sum(销售额) from 表1 group by 商场,decode(sign(to_char(日期,'dd')-24),1,trunc(add_months(日期,1),'mm'),trunc(日期,'mm'));
beckhambobo() 的写法好,但应改回25select decode(sign(to_char(日期,'dd')-25),1,trunc(add_months(日期,1),'mm'),trunc(日期,'mm')),商场,sum(销售额) from 表1 group by 商场,decode(sign(to_char(日期,'dd')-25),1,trunc(add_months(日期,1),'mm'),trunc(日期,'mm'));
select decode(sign((日期-trunc(日期,mm))-25),1,trunc(日期+10,mm),trunc(日期,mm)),商场,sum(销售额)
from 表1
group by 商场,decode(sign((日期-trunc(日期,mm))-25),1,trunc(日期+10,mm),trunc(日期,mm));
能解释一下你写的这句话吗?谢谢
from 表1
group by 商场,decode(sign((日期-trunc(日期,'mm'))-25),1,to_char(trunc(日期+10,'mm'),'YYYYMM'),to_char(trunc(日期,'mm'),'YYYYMM'));trunc(日期)返回参数日期所在月份的第一天,
sign(数字)正数返回1,零返回0,负数返回-1
不谢
decode()是什么意思,
刚学oracle,手头也没有资料,帮帮忙。
意思是
如果str = a 那么
f=a1;
如果str = b 那么
f=b1;
如果str 为其他值 那么
f=c1;
你好,我执行了一下,
结果,有部分数据结果不正确,就说7月份有一个商场结果正确另一个结果不正确,没有规律,你在帮我看看,我没有看出毛病
from 表1
group by 商场,decode(sign((日期-trunc(日期,'mm'))-24),1,to_char(trunc(日期+10,'mm'),'YYYYMM'),to_char(trunc(日期,'mm'),'YYYYMM'));
from 表1
group by 商场,decode(sign(to_char(日期,'dd')-24),1,trunc(add_months(日期,1),'mm'),trunc(日期,'mm'));
from 表1
group by 商场,decode(sign(to_char(日期,'dd')-25),1,trunc(add_months(日期,1),'mm'),trunc(日期,'mm'));