sql 獲取當前季度 (oracle)

2021-09-24 17:34:01 字數 1126 閱讀 2137

笨辦法用case when 做判斷:

select 

case

when to_char(sysdate , 'mm') between '01'

and '03' then 1

when to_char(sysdate , 'mm') between '04'

and '06' then 2

when to_char(sysdate , 'mm') between '07'

and '09' then 3

else 4

end as quarter

from dual

結果:

上述辦法好理解,下面乙個使用函式:

大致思路:當前月份+2 除以3 使結果的整數字為當前季度,獲取整數字 

trunc函式 獲取季度:

select trunc((to_char(sysdate,'mm')+2)/3) from dual
結果:

trunc函式返回處理後的數值,其工作機制與round函式極為類似,只是該函式不對指定小數前或後的部分做相應捨入選擇處理,而統統截去。

其具體的語法格式如下

trunc(number[,decimals])

其中:number 待做擷取處理的數值

decimals 指明需保留小數點後面的位數。可選項,忽略它則截去所有的小數部分。

下面是該函式的使用情況:

trunc(89.985,2)=89.98

trunc(89.985)=89 (即取整)

trunc(89.985,-1)=80

注意:第二個引數可以為負數,表示為小數點左邊指定位數後面的部分截去,即均以0記。與取整類似,比如引數為1即取整到十分位,如果是-1,則是取整到十位,以此類推;如果所設定的引數為負數,且負數的位數大於整數的位元組數的話,則返回為0。如:trunc(89.985,-3)=0。

Oracle 獲取當前季度

獲得當前季度 select trunc to char sysdate,mm 2 3 from dual 獲得當前月份 select to char sysdate,mm from dual 邏輯 獲得當前時間對應的季度邏輯 當前月份 2 3 12月份是第四季度 select trunc 12 2 ...

js中獲取當前年,季度

下面 是獲取當前年份,季度,如果資料庫中有已存在的資料則預設選中 function getyear var month parseint var date new date var year date.getfullyear opt模板 var optyear for var i year i 20...

java獲取當前周,季度,月

1,獲取當前周 date date new date dateformat format new dateformat yyyy mm dd 格式化當前日期 try catch parseexception e calendar calendar calendar.getinstance calen...