我有两个问题:
我想将数据类型为“Date”的字段与给定日期进行比较。数据库是oracle并且是一个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格式?
在同一查询中,如何将“date_closed”与当前日期进行比较?
答案 0 :(得分:0)
您需要NEW_TIME功能
日期不包括Oracle中的时区,并且假定它们位于数据库时区(可能是UTC,但可能不是)。您应该查看TIMESTAMP WITH TIMEZONE数据类型。
答案 1 :(得分:0)
另外,请记住,如果您要比较当前日期 - 我假设您要删除时间戳并仅比较当天。
所以,如果new_time(date_closed,'GMT','PST')翻译日期,你的where子句将比较像
这样的东西trunc(new_Time(date_closed,'GMT','PST'))= trunc(sysdate)
获取PST中当天的date_closed所有记录。