根據提供的資料求出該日期所在的季度

2022-07-04 06:39:13 字數 3939 閱讀 8762

根據當前日期求字段中日期的季度 

oracle資料庫

1

select

2t1.indexcode

3,t1.createtime

4 ,case when t1.createtime =

5 (case when to_char(sysdate,'

mm')/3-1

<= 0

6 then trim(to_char(sysdate,'

yyyy

')-1)||'

-'||trim(4+(to_char(sysdate,'

mm')/3-1))7

else trim(to_char(sysdate,'

yyyy

'))||'

-'||trim(to_char(sysdate,'

mm')/3-1

)8 end) then '

本季度'

9 when t1.createtime =

10 (case when to_char(sysdate,'

mm')/3-2

<= 0

11 then trim(to_char(sysdate,'

yyyy

')-1)||'

-'||trim(4+(to_char(sysdate,'

mm')/3-2

))12

else trim(to_char(sysdate,'

yyyy

'))||'

-'||trim(to_char(sysdate,'

mm')/3-2)13

end)

14 then '

前1季度

'15 when t1.createtime =

16 (case when to_char(sysdate,'

mm')/3-3

<= 0

17 then trim(to_char(sysdate,'

yyyy

')-1)||'

-'||trim(4+(to_char(sysdate,'

mm')/3-3

))18

else trim(to_char(sysdate,'

yyyy

'))||'

-'||trim(to_char(sysdate,'

mm')/3-3)19

end)

20 then '

前2季度

'21 when t1.createtime =

22 (case when to_char(sysdate,'

mm')/3-4

<= 0

23 then trim(to_char(sysdate,'

yyyy

')-1)||'

-'||trim(4+(to_char(sysdate,'

mm')/3-4

))24

else trim(to_char(sysdate,'

yyyy

'))||'

-'||trim(to_char(sysdate,'

mm')/3-4)25

end)

26 then '

前3季度

'27 when t1.createtime =

28 (case when to_char(sysdate,'

mm')/3-5

<= 0

29 then trim(to_char(sysdate,'

yyyy

')-1)||'

-'||trim(4+(to_char(sysdate,'

mm')/3-5

))30

else trim(to_char(sysdate,'

yyyy

'))||'

-'||trim(to_char(sysdate,'

mm')/3-5)31

end)

32 then '

前4季度

' end as

指標33

from

tablea t1

34 inner join tableb t2 on t1.indexcode =t2.indexcode

35where t2.indexcode in ('

i1301000019

')

結果:

在報表中使用動態引數,根據所選擇日期資訊展示所在季度各指標

1

select

2createtime

3 ,case when t1.createtime = '

$' then '本期'

4 when t1.createtime =

5 (case when substr('

$',-1,1)-1

<=0

6 then substr('

$',1,4)-1||'

-'||(4+substr('

$',-1,1)-1)7

else substr('

$',1,4)||'

-'||(substr('

$',-1,1)-1)8

end)

9 then '

前1期'

10 when t1.createtime =

11 (case when substr('

$',-1,1)-2

<=0

12 then substr('

$',1,4)-1||'

-'||(4+substr('

$',-1,1)-2)13

else substr('

$',1,4)||'

-'||(substr('

$',-1,1)-2)14

end)

15 then '

前2期'

16 when t1.createtime =

17 (case when substr('

$',-1,1)-3

<=0

18 then substr('

$',1,4)-1||'

-'||(4+substr('

$',-1,1)-3)19

else substr('

$',1,4)||'

-'||(substr('

$',-1,1)-3)20

end)

21 then '

前3期'

22 when t1.createtime =

23 (case when substr('

$',-1,1)-4

<=0

24 then substr('

$',1,4)-1||'

-'||(4+substr('

$',-1,1)-4)25

else substr('

$',1,4)||'

-'||(substr('

$',-1,1)-4)26

end)

27 then '

前4期' end as

季度28

from table

規範日期:將字串形式的'2019-08-01'變成『8/1』型別

查詢日期所在1周的資料

select t kojin yotei.yotei as yotei t kojin yotei.basho as basho t kojin yotei.yotei start dt as yotei start dt t kojin yotei.yotei end dt as yotei en...

根據日期查詢當前月的資料

查詢12月份某使用者的消費金額總和 1.若前端傳過來的引數為 createtime 2019 12 18 字段 userid 123456789 2.使用split根據 切割 string split createtime.split 3.再可以建立或者設定到類 或dto類中 設定年 odsbill...

根據後台返回的日期排序資料

1 資料陣列套字典 2 message header是本次我們要拿來排序的日期 3 建立乙個model放資料的字段 4 拿日期進行比較,相同的拼接放在同乙個陣列不同的放另乙個陣列,效果圖 還可以這樣 if dic 日期 nsmutablearray dayarray nsmutablearray a...