在oracle中,可用「between and」查詢指定時間範圍的數據,語法為「select*from 表名where 欄位between to_date(起始時間,起始時間格式) and to_date(終止時間,終止時間格式)」。
本教學操作環境:Windows10系統、Oracle 11g版、Dell G3電腦。
在oracle中,想要查詢指定的時間範圍,可以利用between and和to_date()函數。
to_date()與24小時製表示法及mm分鐘的顯示:
一、在使用Oracle的to_date函數來做日期轉換時,很多Java程式設計師也許會直接的採用「yyyy-MM-dd HH:mm:ss」的格式會作為格式進行轉換,但在Oracle中會造成錯誤:「ORA 01810 格式代碼出現兩次」。
select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mm:ss') from dual;
原因是SQL中不區分大小寫,MM和mm被認為是相同的格式代碼,所以Oracle的SQL採用了mi代替分鐘。
select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual;
二、另要以24小時的形式顯示出來要用HH24
select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;// mi是分鐘
select to_char(sysdate,'yyyy-MM-dd HH24:mm:ss') from dual;//mm會顯示月份 oracle中的to_date參數意義
between and本身是全閉區間,包含端點的值。
注意:使用to_date進行時間篩選的時候,例如2015-02-28是從當天的00:00:00開始計算的。因此如果範圍是2015-02-28 到2015-03-01,時間範圍實際上是左閉右開的。不包含2015-03-01這一天的資料。
範例如下:
select * from tab where dtcol between to_date('2012-05-01 00:00:00','yyyy-mm-dd hh24:mi:ss') and to_date('2012-05-31 00:00:00','yyyy-mm-dd hh24:mi:ss')
推薦教學:《Oracle教學》
以上是oracle怎樣查詢指定時間範圍的詳細內容。更多資訊請關注PHP中文網其他相關文章!