Oracle判斷週末

2022-08-25 11:15:28 字數 685 閱讀 7618

有些業務場景下會有擇出週末的需求,具體判斷語句如下:

1、select to_char(to_date(data_date,'yyyy-mm-dd),'d') from dual;

如果data_date為星期六則結果為7,如果data_date為星期日則結果為1,所以to_char(to_date(data_date,'yyyy-mm-dd),'d') not in ('1','7')即可;

2、select to_char(to_date(data_date,'yyyy-mm-dd),'day') from dual;

根據 nls_date_language 的配置引數,結果為 'saturday' 'sunday' 或者 '星期六' '星期日'

另外需要注意的是語句在to_char為day的過程中,day的寫法決定了saturday sunday的大小寫

day-> 'saturday' 'sunday'

day-> 'saturday' 'sunday'

day-> 'saturday' 'sunday'

但總有一些特殊情況,偶爾情況下還是需要週末的資料,但大方向是擇出週末,提供乙個思路:

使用一張配置表,表中可列出日曆(如1900-01-01~2099-12-31),再插入乙個開關字段(0為生效,1為失效),日常週末開關狀態為1,需要使用的置為0

如有更好的方案歡迎交流。

週末就要像個週末的樣

本來周初就計畫了是準備想去參加那個798的ror沙龍的,寫了不少問題和筆記想過去找同行交流。可是17號就發了報名 了,怎麼23號才確認?24號的活動,23號下午才跟人確認,我應該把這理解為傲嬌還是賣萌呢?等了兩天確認等不來,於是約了學車的學時了,這坑爹的 不管怎麼著吧,和朋友家人聊聊天,陪老婆出去解...

oracle 閏年判斷

閏年最直接的判斷是 能被4整除且不能被100整除,或者能被400整除的年份 create or replace procedure pro leap year year in in number as v mod1 number 4 mod year in,4 v mod2 number 4 mod...

Oracle指標級別判斷

目前有乙個簡單的指標級別的判斷邏輯,其邏輯是在資料中通過oracle的function 進行判斷。示例為 select kpi1,get kpi level kpi1當前值得,對比歷史值 kpi evel from xx 但是使用者要求區分忙時和閒時。比如12和凌晨1點的閥值是不同的,重大節假日和平...