笨辦法用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...