對 oracle 資料庫日期格式,以及對日期操作的理解
阿新 • • 發佈:2019-02-08
剛才我寫了一條sql 語句:如下
select * from t_f63_final_operate_history t where oper_Date >= to_date('2014-10-21','yyyy-mm-dd') and oper_Date < to_date('2014-10-21','yyyy-mm-dd')+1
這句sql 語句查詢的是:查詢某一天的記錄
這條sql 語句用到了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;
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會顯示月份
2.日期到字元操作
- select sysdate,to_char(sysdate,’yyyy-mm-dd hh24:mi:ss’) from dual
- select sysdate,to_char(sysdate,’yyyy-mm-dd hh:mi:ss’) from dual
- select sysdate,to_char(sysdate,’yyyy-ddd hh:mi:ss’) from dual
- select sysdate,to_char(sysdate,’yyyy-mm iw-d hh:mi:ss’) from dual
參考oracle的相關關文件(ORACLE901DOC/SERVER.901/A90125/SQL_ELEMENTS4.HTM#48515)
3. 字元到日期操作
- select to_date(’2003-10-17 21:15:37’,’yyyy-mm-dd hh24:mi:ss’) from dual