2014-05-02 195 views
-1

我使用的是Oracle數據庫,我buidling查詢和我不能確定如何做我設置爲「創造」領域的一個比較ORACLE SQL查詢

SELECT C.IS_AW_TITLE, A.PORTAL_OBJNAME, C.IS_AW_ACTIVE_FLG, 
(TO_CHAR(CAST((C.CREATEDTTM) AS TIMESTAMP),'YYYY-MM-DD-HH24.MI.SS.FF')) AS 
CREATED,..... 

FROM ..., (sysadm.PS_IS_AW_PG_DEFN C LEFT OUTER JOIN sysadm.PS_IS_AW_SECURITY D ON 
C.IS_AW_GRP_ID = D.IS_AW_GRP_ID),... 

WHERE (C.IS_AW_CREF_OBJ = A.PORTAL_OBJNAME 
AND C.IS_AW_GRP_ID = E.IS_AW_GRP_ID... 

的「創造」領域產生的結果相似,這個例子:2011-09-26-11.22.31.000000

我將如何將它包含在查詢中來說出'AND Created = to_timestamp(.....,2011-09-26-11.22.31.000000) ?

+0

爲什麼你把這些弄到這些奇怪的小塊? – Zane

+0

c.createdtm的數據類型是什麼? –

回答

0

你比方說,宣佈(期限不知道是否合適,隨時糾正我)created字段to_char,所以它的類型是varchar2,這意味着你不能與to_timestamp進行比較。

我看到幾個方法可以做到這樣的comparsion:

  1. 離場原樣,並且比較CAST((C.CREATEDTTM) AS TIMESTAMP與您需要的日期;
  2. 定義created作爲時間戳,即刪除to_char;
  3. created與`to_char(to_timestamp(...));

哪一個最合適取決於你在查詢結果中如何使用created字段。如果可能的話,我個人會選擇選項2.