資料庫timesten與 oracle 處理日期上寫法上的不同

langouste發表於2010-05-17

     由於公司業務增長較快,資料庫oracle壓力越來越大,公司考慮在應用伺服器 Websphere 和 資料庫oracle之間增加 timesten資料庫來實現資料的讀寫分離,另外由於timesten是記憶體資料庫,所以查詢速度上要優於 oracle 資料庫,兩個資料庫雖然都是oracle公司的產品,但是在很多sql的寫法上是不相同的,下面就對此項工作中遇到的sql不同的寫法做個介紹:

oracle中查詢當前日期的前23小時可以這樣寫

 

<code> select sysdate - 23/24 from dual; </code>

 

這樣的寫法在timesten中是會報錯的,兩個資料庫通用的寫法是這樣的

 

<code> select SYSDATE - INTERVAL '23' hour from dual; </code>

 

但是有另外的關於to_date的就沒有通用的寫法了

 

oracle中可以這樣寫

 

<code> (to_date(?,'yyyy-mm-dd') - trunc(sysdate)) </code>

 

但是在timesten中只能這樣寫

 

<code> (EXTRACT(day FROM to_date(?,'yyyy-mm-dd') - trunc(sysdate))) </code>

 

暫時只發現這兩種寫法的不同了,而且第二種寫法還沒有找到兩邊通用的寫法,後續的工作中發現了再貼上來

 

這個是oracle官方timesten的的地址

http://www.oracle.com/technology/products/timesten/index.html

大家可以去檢視官方的文件白皮書來了解更多關於timesten的知識

 

 

相關文章