加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle sql查询列出上个月的所有日期

发布时间:2020-12-12 13:49:35 所属栏目:百科 来源:网络整理
导读:伙计们我要求列出上个月的所有日期,如下所示 2010120120101202201012032010120420101205................20101231 如果有任何比这个查询更好的方法,请告诉我. select TO_CHAR(TRUNC(SYSDATE,'MM')-1,'YYYYMMDD')-(level-1) as EACH_DATE from dual A connect
伙计们我要求列出上个月的所有日期,如下所示
20101201
20101202
20101203
20101204
20101205
..
..
..
..
..
..
..
..
20101231

如果有任何比这个查询更好的方法,请告诉我.

select TO_CHAR(TRUNC(SYSDATE,'MM')-1,'YYYYMMDD')-(level-1) as 
EACH_DATE from dual A connect by level 
< (TO_NUMBER(TO_CHAR(TRUNC(SYSDATE,'DD'))+1)

另请告诉我这个查询的问题,它说“缺少右括号”

SELECT /*+ PARALLEL (A,8) */ /*+ DRIVING_STATE */
   TO_CHAR(TRUNC(TRUNC(SYSDATE,'MM'),'MONYYYY') "MONTH",TYPE AS "TRAFF",COLUMN,A_COUN AS "A_COUNT",COST  FROM DATA_P B WHERE  EXISTS  
(  
  select TO_NUMBER(TO_CHAR(TRUNC(SYSDATE,'YYYYMMDD')-(level-1))  EACH_DATE 
  from dual A connect by  level < TO_NUMBER(TO_CHAR(TRUNC(SYSDATE,'DD')+1) 
  WHERE A.EACH_DATE = B.DATE  order by EACH_DATE ASC
 )

强调文字

听起来你想要这样的东西
SQL> ed
Wrote file afiedt.buf

  1  select to_char( add_months(trunc(sysdate,-1) + level - 1,2                  'YYYYMMDD' )
  3    from dual
  4  connect by level <=
  5    last_day(add_months(trunc(sysdate,-1)) -
  6    add_months(trunc(sysdate,-1) +
  7*   1
SQL> /

TO_CHAR(
--------
20101201
20101202
20101203
20101204
20101205
20101206
20101207
20101208
20101209
20101210
20101211
20101212
20101213
20101214
20101215
20101216
20101217
20101218
20101219
20101220
20101221
20101222
20101223
20101224
20101225
20101226
20101227
20101228
20101229
20101230
20101231

31 rows selected.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读