oracle数据库中怎么查询当前年每月的天数,按自然月统计,谢谢!
发布网友
发布时间:2022-04-08 03:04
我来回答
共4个回答
懂视网
时间:2022-04-08 07:25
select to_char(t, ‘yyyymm‘) a, to_char(t, ‘yyyy-mm‘) b, to_char(t, ‘dd‘) c
from (
select decode(level,
1,
trunc(sysdate, ‘dd‘),
add_months(trunc(sysdate, ‘mm‘), 2 - 1 * level) - 1) t
from dual
connect by level < 7
)
当月显示实际天数,非整月天数:
oracle造最近6个月及每月天数SQL
标签:
热心网友
时间:2022-04-08 04:33
楼上的只统计了一个月的吧
WITH t AS
(SELECT ROWNUM
FROM DUAL
CONNECT BY ROWNUM <= 12)
SELECT TO_CHAR (LAST_DAY (TO_DATE ( TO_CHAR (SYSDATE, 'YYYY')
|| LPAD (TO_CHAR (ROWNUM), 2, 0),
'YYYYMM'
)
),
'YYYY-MM'
)
|| '月',
TO_CHAR (LAST_DAY (TO_DATE ( TO_CHAR (SYSDATE, 'YYYY')
|| LPAD (TO_CHAR (ROWNUM), 2, 0),
'YYYYMM'
)
),
'DD'
)
|| '天'
FROM t
直接全选复制粘贴运行
追问我想选定某月就出来某月的天数,要怎么弄呢
追答select add_months(to_date('201202', 'YYYYMM'),1)-to_date('201202', 'YYYYMM') from al
你把月份改一下就OK
热心网友
时间:2022-04-08 05:51
oracle 实现按周,月,季度,年查询统计数据
//按自然周统计
select to_char(date,'iw'),sum()
from
where
group by to_char(date,'iw')
//按自然月统计
select to_char(date,'mm'),sum()
from
where
group by to_char(date,'mm')
//按季统计
select to_char(date,'q'),sum()
from
where
group by to_char(date,'q')
//按年统计
select to_char(date,'yyyy'),sum()
from
where
group by to_char(date,'yyyy')
统计的时候注意:以上我写的统计知识统计当年的,要是跨年在存在逻辑上问题,需要根据需要格式化“统计时间”。可以根据需要参考下面的to_char函数
附:TO_CHAR函数说明
TO_CHAR(x[[,c2],C3])
【功能】将*期或数据转换为char数据类型
【参数】
x是一个date或number数据类型。
c2为格式参数
c3为NLS设置参数
如果x为*期nlsparm=NLS_DATE_LANGUAGE 控制返回的月份和*份所使用的语言。
如果x为数字nlsparm=NLS_NUMERIC_CHARACTERS 用来指定小数位和千分位的分隔符,以及货币符号。
NLS_NUMERIC_CHARACTERS ="dg", NLS_CURRENCY="string"
热心网友
时间:2022-04-08 07:26
select
to_char(add_months(trunc(sysdate,'yyyy'),level-1),'yyyymm') year_month,
last_day(add_months(trunc(sysdate,'yyyy'),level-1))-add_months(trunc(sysdate,'yyyy'),level-1)+1 days
from
al
connect by level<=12