Oracle中年月日級聯填充查詢語句

2021-09-08 15:38:10 字數 1532 閱讀 1123

最近專案中的查詢模組中,查詢條件用到了年月日下拉框,預設下拉框中都要填充資料,分別是年、月、日,並且還要實現級聯要求。這就需要根據不同的年填充月份資料,不同的月填充不同的日,填充的資料需要查詢語句完成。通過努力終於實現了想要的結果,如下:

1.年份:

select (1 - level +to_char(sysdate, 'yyyy')) years

from dual

connect by level <=10

2.月份:

select  case when mons<10 then '0'||mons  else to_char(mons) end monsnew  from

(select(1 - level + decode(to_char(sysdate, 'yyyy'),

'?年份', --引數,本年只填充當前月份以前的時間

to_char(sysdate, 'mm'),12)) mons

from dual

connect by level <= decode(to_char(sysdate, 'yyyy'),

'?年份',

to_char(sysdate, 'mm'),

12))

3.日期:

select case when days<10 then '0'||days else to_char(days) end daysnew from

(select (1 - level + decode(to_char(sysdate, 'yyyy'),

'?年份',

decode(to_char(sysdate, 'mm'),

'?月份',

to_number(to_char(sysdate, 'dd')),

to_number(to_char(last_day(to_date('?年份?月份'','yyyymm')),'dd'))),

to_number(to_char(last_day(to_date('?年份?月份'','yyyymm')),'dd')))) days

from dual

connect by level <= decode(to_char(sysdate, 'yyyy'),

'?年份',

decode(to_char(sysdate, 'mm'),'08', to_number(to_char(sysdate, 'dd')),to_number(to_char(last_day(to_date

('?年份?月份','yyyymm')),'dd'))),

to_number(to_char(last_day(to_date('?年份?月份'','yyyymm')),'dd')))

)

感覺這語句還是非常用得著的,如果大家還有其它好的語句,希望能拿出來分享~~~

oracle 根據年月日生成編號

create table test id number 32 primary key,createdatetime date delete from test commit insert into test values 2011120901,sysdate insert into test val...

Oracle 獲取當前年 月 日

oracle 獲取當前年 月 日 1 oracle中extract 函式從oracle 9i中引入,用於從乙個date或者interval型別中擷取到特定的部分 語法如下 extract from selectextract yearfromsysdate fromdual 當前年 selectex...

Oracle 獲取當前年 月 日

size large oracle 獲取當前年 月 日 第一種 new timestamp system.currenttimemillis 第二種 sysdate 1 oracle中extract 函式從oracle 9i中引入,用於從乙個date或者interval型別中擷取到特定的部分 語法如...