hive sql 獲取某天所在月的最後乙個星期天

2021-09-03 02:37:13 字數 1770 閱讀 4531

主要思路就是通過找到該天所在月的最後一天屬於週幾,然後往前推到本月的最後乙個星期天;其中找到當月最後一天時通過下月第一天往前推一天,需考慮該月是否為12月等等情況,具體hive sql如下,以當前日期為例:

--先找到下個月的第一天,根據年月日確定當月最後一天的日期

drop

table

ifexists month_last_day_table;

create

table

ifnot

exists month_last_day_table as

select

date_sub(

concat(

concat(

(case

when

month

(current_date()

)=12then

year

(current_date()

)+1else

year

(current_date()

)end),

--年'-',(

case

when

month

(current_date()

)=12then

'01'

when

month

(current_date()

)=11then

'12'

else concat(

'0',

month

(current_date()

)+1)

end)),

--月'-'

,'01'),

--日1

)as month_last_day;

--獲取當月最後乙個星期天,判斷當月最後一天屬於週幾,隨後往前推到第乙個星期天

drop

table

ifexists month_last_sunday;

create

table

ifnot

exists month_last_sunday as

select

case

when time_judge =

0then month_last_day

when time_judge =

1then date_sub(month_last_day,1)

when time_judge =

2then date_sub(month_last_day,2)

when time_judge =

3then date_sub(month_last_day,3)

when time_judge =

4then date_sub(month_last_day,4)

when time_judge =

5then date_sub(month_last_day,5)

when time_judge =

6then date_sub(month_last_day,6)

endas last_sunday

from

(select

pmod(datediff(month_last_day, to_date(

'1920-01-01'))

-3,7

)as time_judge,month_last_day --判斷當月最後一天屬於週幾

from month_last_day_table ) t;

C 中獲取某天所在月的第一天與最後一天

今天同事在c 開發時,按月的時間段進行查詢,在乙個月的第一天與最後一天的判斷有失誤 取得某月或某天所在月的第一天 public static datetime firstdayofmonth datetime datetime 取得某月或某天所在月的最後一天 public static dateti...

Python實現獲取某天是某個月中的第幾周

找了半天竟然沒找到,如何在python的datetime處理上,獲取某年某月某日,是屬於這個月的第幾周。無奈之下求助同學,同學給寫了乙個模組。如果你知道python有這個原生的庫,請不吝賜教 我稍作整理記錄在下。複製 如下 usr bin env python coding utf 8 author...

WinCE下如何獲取程序所在的目錄

眾所周知,wince下沒有當前目錄的概念,所有路徑都以根目錄 為參考。獲取程序所在目錄的參考 如下。getmodulefilename null,gszpath,max path intlen wcslen gszpath tchar p gszpath len while p t p t 0 或者...