(Oracle)取當前日期的最近工作日

2022-01-29 07:43:49 字數 876 閱讀 9637

描述:現有一需求,日期表中存放了日期和是否節假日(0-工作日,1-節假日),現在需要取日期表中的最近的工作日。如2017/07/23(週日)最近的工作日應該是2017/07/21(周五)。

date_d    is_holiday

1    2017/7/17    0

2    2017/7/18    0

3    2017/7/19    0

4    2017/7/20    0

5    2017/7/21    0

6    2017/7/22    1

7    2017/7/23    1

8    2017/7/24    0

9    2017/7/25    0

select t1.date_d,max

(t2.date_d)

from table_a t1 left

join table_a t2 on (t1.date_d >= t2.date_d and t2.is_holiday='0

')group

byt1.date_d

order

by t1.date_d

結果:date_d    max(t2.date_d)

1    2017/7/17    2017/7/17

2    2017/7/18    2017/7/18

3    2017/7/19    2017/7/19

4    2017/7/20    2017/7/20

5    2017/7/21    2017/7/21

6    2017/7/22    2017/7/21

7    2017/7/23    2017/7/21

oracle怎麼使用當前日期

我們有時需要在sql語句中直接獲取當前日期,在oracle資料庫中就存在乙個函式可以直接獲取當前時間。select to char railway xun plan.id id,to char railway xun plan.month id month id,railway xun plan.o...

Oracle 獲取當前日期及日期格式

oracle 獲取當前日期及日期格式 獲取系統日期 sysdate 格式化日期 to char sysdate yy mm dd hh24 mi ss 或 to date sysdate yy mm dd hh24 mi ss 格式化數字 to number 注 to char 把日期或數字轉換為字...

Oracle 獲取當前日期及日期格式

oracle 獲取當前日期及日期格式 獲取系統日期 sysdate 格式化日期 to char sysdate yy mm dd hh24 mi ss 或 to date sysdate yy mm dd hh24 mi ss 格式化數字 to number 注 to char 把日期或數字轉換為字...