對 oracle 資料庫日期格式,以及對日期操作的理解

朱智文發表於2015-11-04

剛才我寫了一條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 格式程式碼出現兩次”。

  1. select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mm:ss') from dual; 

如:
原因是SQL中不區分大小寫,MM和mm被認為是相同的格式程式碼,所以Oracle的SQL採用了mi代替分鐘。

  1. 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會顯示月份


2.日期到字元操作

  1. select sysdate,to_char(sysdate,’yyyy-mm-dd hh24:mi:ss’) from dual   
  2. select sysdate,to_char(sysdate,’yyyy-mm-dd hh:mi:ss’) from dual   
  3. select sysdate,to_char(sysdate,’yyyy-ddd hh:mi:ss’) from dual   
  4. select sysdate,to_char(sysdate,’yyyy-mm iw-d hh:mi:ss’) from dual   

參考oracle的相關關文件(ORACLE901DOC/SERVER.901/A90125/SQL_ELEMENTS4.HTM#48515)

3. 字元到日期操作

  1. select to_date(’2003-10-17 21:15:37’,’yyyy-mm-dd hh24:mi:ss’) from dual 

相關文章