在 oracle 中要判斷某個時間點在乙個時間段中間可以使用 between ,語句如下
select *
from temp_table
where target_date between to_date('2020-01-01', 'yyyy-mm-dd') and to_date('2020-02-01', 'yyyy-mm-dd')
在進行時間比較的時候 oracle 會自動將輸入的兩個日期格式化為 2020-01-01 00:00:00 以及 2020-02-01 00:00:00 , 然後判斷目標時間是不是在這兩個時間之中 。
這種情況下我們需要了解的是這個時間判斷的邊界值是多少 ,我們生成四個時間點 ,分別是 2019-12-31 23:59:59 ,2020-01-01 00:00:00 ,2020-01-31 23:59:59, 2020-02-01 00:00:00
執行上面的語句 ,查詢出來的結果有兩條 ,分別是 2020-01-01 00:00:00 以及 2020-01-31 23:59:59 。
也就是說 ,在使用 between 進行時間範圍計算時,起始時間可以等於目標時間 ,但是結束時間必須大於目標時間 ,特別是要取日期或者月份的時候
target_date between to_date('2020-01', 'yyyy-mm') and to_date('2020-02', 'yyyy-mm')
像這個語句 取到的是 1 月份的全部時間 ,但是不包括二月份 。 Sql語句日期的Between和and
最近做了乙個有獎答題程式,後台有根據日期查詢使用者的答題數量,可是遇到了問題,資料庫中的內容為 idname date1張三 2009 4 5 09 13 182李四 2009 4 6 15 48 363王五 2007 4 7 20 47 58 sql查詢語句為select from table w...
sql中日期操作
1.看到乙個帖子,裡面日期操作函式挺多,方法技巧也挺好,學習了。declare s date select s 2012 01 01 定義開始日期 select cast datepart yy,dateadd dd,number,s as varchar 4 年 cast datepart mm,...
sql中日期型轉換
sql日期轉換 select convert varchar,getdate 120 2004 09 12 11 06 08 select replace replace replace convert varchar,getdate 120 20040912110608 select conver...