2011-08-25 68 views
0

我有2個問題:轉換日期值PST進行比較:甲骨文

  1. 我想比較一個字段的數據類型是「日期」對一個給定的日期。數據庫是甲骨文,是一個MySQL的傢伙,我發現很難想出簡單的查詢。 field("date_closed")以UTC格式存儲日期(24-Aug-2011 18:55:11 for example),我想將其轉換爲PST進行比較。 我嘗試此查詢,但它在數據集中返回一些額外的行(顯然):

    select * from table1 where trunc(date_closed)=to_date('2011-08-24','yyyy-mm-dd')

    如何比較之前隱蔽到PST格式?

  2. 在相同的查詢中,我如何比較「date_closed」與當前日期?

+0

PST格式=太平洋標準時間格式? –

回答

0

您需要NEW_TIME功能

日期不包括在甲骨文時區,以及被認爲是在數據庫中時區(可能是由UTC,但可能不是)。您應該查看TIMESTAMP WITH TIMEZONE數據類型。

0

另外,請記住,如果您正在比較當前日期 - 我假設您要刪除時間戳並僅比較一天。

所以,如果NEW_TIME(date_closed, 'GMT', 'PST')轉換之日起,您的where子句會比較像

TRUNC(NEW_TIME(date_closed, 'GMT', 'PST')) = trunc(sysdate)

在當前PST中獲取帶有date_closed的所有記錄。