1. 程式人生 > >SQL 按時間區間選取

SQL 按時間區間選取

需求一

oracle資料庫中有兩個時間欄位。比如:
開始時間:1981-01-01
結束時間:1981-05-01
輸入一個時間,如何判斷在時間範圍內。比如:輸入1981-04-01就在時間範圍內

方法一:

用to_char函式和between …and …。(適合存時間的欄位是varchar型別的)

select * from emp where to_char(列名,'yyyy-mm-dd') between '1981-01-01' and '1981-05-01';

方法二

用to_date函式和between …and …。(適合存時間的欄位是varchar型別的)

select * from
emp where to_date(列名,'yyyy-mm-dd') between '1981-01-01' and '1981-05-01';

需求二

oracle資料庫中有兩個時間欄位。比如:
開始時間:1981-01-01
結束時間:1981-05-01
輸入一個時間,如何判斷在時間範圍外。

方法一

select * from mytable t where t.startTime>=to_date('1981-01-01','yyyy-mm-dd') and t.endTime<=to_date('1981-05-01','yyyy-mm-dd')