在oracle中,可利用select語句配合「to_date」函數查詢大於指定時間的數據,語法為「select * from 表名where 列名> to_date('指定時間格式','yyyy- mm-dd hh24:mi:ss')」。
本教學操作環境:Windows10系統、Oracle 11g版、Dell G3電腦。
查詢的結果,要求某列大於某個時間點的記錄。
-- tablename 表名 -- columnname 列名 select * from tablename where columnname > to_date('2022:5:25 09:40:00','yyyy-mm-dd hh24:mi:ss');
範例如下:
modifytime 和create 都是字串,需要轉成時間,時間和時間比較;不然會提示文字和字元不匹配。
擴充知識:
例如:我要查一張表2011年3月11日到2011年3月24日內所產生的數據,其區間應為[2011-03-11 00:00:00, 2011-03-25 00:00:00)
-- 即:不含右邊2011-03-25 00:00:00時間點的值!
-- 所以,請看如下:
#-- 查看2011年24日產生的資料
-- 方法一:用... and ...
eygle@SZTYORA> select count(*) from t 2 where cdate>=to_date('2011-03-24','yyyy-mm-dd') 3 and cdate COUNT(*) ---------- 5
-- 方法二:用between ... and ...
eygle@SZTYORA> select count(*) from t 2 where cdate between to_date('2011-03-24','yyyy-mm-dd') 3 and to_date('2011-03-25','yyyy-mm-dd'); COUNT(*) ---------- 6 eygle@SZTYORA> select * from t 2 where cdate between to_date('2011-03-24','yyyy-mm-dd') 3 and to_date('2011-03-25','yyyy-mm-dd') 4 order by cdate; CDATE ------------------- 2011-03-24 00:00:00 2011-03-24 02:03:45 2011-03-24 10:37:03 2011-03-24 20:55:17 2011-03-24 23:59:59 2011-03-25 00:00:00
已選擇6行。
-- 可見方法二用between ... and ... 是錯誤的,它將2011-03-25 00:00:00 這一刻的記錄也包括在內啦!
推薦教學:《Oracle影片教學》
以上是oracle怎麼查詢大於指定時間的數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!