關於Oracle資料庫的時間查詢
to_date()與24小時製表示法及mm分鐘的顯示:一、在使用Oracle的to_date函式來做日期轉換時,很多Java程式設計師也許會和我一樣,直覺的採用“yyyy-MM-ddHH:mm:ss”的格式作為格式進行轉換,但是在Oracle中會引起錯誤:“ORA 01810 格式程式碼出現兩次”。
如:selectto_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會顯示月份
to_date() 與 to_char() 日期和字串轉換
to_date("要轉換的字串","轉換的格式") 兩個引數的格式必須匹配,否則會報錯。
即按照第二個引數的格式解釋第一個引數。
to_char(日期,"轉換格式" ) 即把給定的日期按照“轉換格式”轉換。
轉換的格式:
表示year的:y 表示年的最後一位 yy 表示年的最後2位 yyy 表示年的最後3位 yyyy 用4位數表示年
表示month的:mm 用2位數字表示月;mon 用簡寫形式比如11月或者nov ;month 用全稱比如11月或者november
表示day的:dd 表示當月第幾天;ddd表示當年第幾天;dy 當週第幾天簡寫比如星期五或者fri;day當週第幾天全寫
比如星期五或者friday。
表示hour的:hh 2位數表示小時 12進位制; hh24 2位數表示小時 24小時
表示minute的:mi 2位數表示分鐘
表示second的:ss 2位數表示秒 60進位制
表示季度的:q 一位數表示季度(1-4)
另外還有ww 用來表示當年第幾周 w用來表示當月第幾周。
24小時制下的時間範圍:00:00:00-23:59:59
12小時制下的時間範圍:1:00:00-12:59:59
比如:
selectto_char(sysdate,'yy-mm-dd hh24:mi:ss') from dual //顯示:08-11-07 13:22:42
selectto_date('2005-12-25,13:25:59','yyyy-mm-dd,hh24:mi:ss') from dual //顯示:2005-12-25 13:25:59
而如果把上式寫作:
select to_date('2005-12-25,13:25:59','yyyy-mm-dd,hh:mi:ss')from dual,則會報錯,因為小時hh是12進位制,13為非法輸入,不能匹配。
補充:
當前時間減去7分鐘的時間
select sysdate,sysdate - interval '7' MINUTE from dual
當前時間減去7小時的時間
select sysdate - interval '7' hour from dual
當前時間減去7天的時間
select sysdate - interval ’7’ day from dual
當前時間減去7月的時間
select sysdate,sysdate - interval '7' month from dual
當前時間減去7年的時間
select sysdate,sysdate - interval '7' year from dual
時間間隔乘以一個數字
select sysdate,sysdate - 8*interval '7' hour from dual
time欄位是DATETIME型別
select * from table_name where jxlx='03002' and time betweento_date('2007-9-1','yyyy-mm-dd') and to_date('2007-9-20 23:59:59','yyyy-mm-ddhh24:mi:ss)
還有一個to_char()
與null值比較:is not null,is null
如 select * fromorders where price is null ,price等於null
如: select * fromorders where price is not null , price不等於null
相關文章
- 關於oracle的空間查詢Oracle
- 關於日期及時間欄位的查詢
- 關於同一個連線不同資料庫之間的 Eloquent 關聯查詢資料庫
- 關於資料庫查詢業務的幾點思考資料庫
- 關於資料庫批次查詢的一個想法資料庫
- 關於MySql資料庫設計表與查詢耗時分析MySql資料庫
- ORACLE資料庫遞迴查詢時間區間,可傳入指定日期Oracle資料庫遞迴
- 根據Alert日誌查詢資料庫啟動、關閉時間資料庫
- 關於下拉選單查詢資料庫的問題資料庫
- Prometheus時序資料庫-資料的查詢Prometheus資料庫
- 異構資料庫的關聯查詢 oracle hsodbc 關聯mysql資料庫OracleMySql
- 概括SQL Server實時查詢Oracle資料庫WSSQLServerOracle資料庫
- Oracle資料庫的查詢變慢了Oracle資料庫
- 關於UPDATE中關聯查詢的執行時間考慮
- 關於查詢不用重啟或者關閉資料庫的引數資料庫
- Python—Django:關於在Django框架中對資料庫的查詢函式,查詢集和關聯查詢PythonDjango框架資料庫函式
- 查詢一個表插入資料的時間,按BLOCK時間BloC
- 關於dataguard需要查詢的資料字典
- mysql查詢最近時間的一組資料MySql
- 查詢某時間段的統計資料
- 關於dcat-admin 資料庫過濾查詢資料庫
- 資料庫資料的查詢----連線查詢資料庫
- Oracle資料庫中的分頁查詢Oracle資料庫
- RMAN基於時間點恢復Oracle資料庫Oracle資料庫
- 資料庫AR之關聯查詢資料庫
- Oracle日期時間範圍查詢Oracle
- 關於資料字典的查詢效率優化優化
- 為什麼有時Oracle資料庫不用索引來查詢資料?(轉)Oracle資料庫索引
- SQL Server:基於WEB的資料庫查詢SQLServerWeb資料庫
- 關於資料庫間連結問題彙總---Oracle資料庫Oracle
- Oracle關於時間/日期的操作Oracle
- ORACLE資料庫基於時間點的不完全恢復Oracle資料庫
- 資料庫查詢資料庫
- 在資料庫中查詢關鍵字資料庫
- 資料庫 - 資料查詢資料庫
- 關於:查詢資料庫後是返回ResultSet還是返回Collection資料庫
- mysql 資料庫或者表空間使用查詢MySql資料庫
- 關於資料字典的查詢效率最佳化