Oracle日期转换

时间:2013-05-24 16:31:21

标签: sql oracle date

我在MS Access 2010中有一个查询字段,它将转换亚太地区的日期。

我的查询字段如下所示。这是一个计算字段。 '员工名单'是表名和'地区''创建'这里是字段名称。添加了0.3958,以便将亚太地区的日期与其他两个地区对齐。

报告日期:

CDate(Int(IIf([Employee List]![Region]="APAC",[Manual_list]![Created]+0.3958,[Manual_list]![Created])))

现在我想在Oracle中实现这个结果,但我对SQL并不熟悉。任何人都可以帮我在oracle中得到这个结果。

由于

2 个答案:

答案 0 :(得分:3)

假设将.3958添加到Access中的日期增加9.5小时(.3958 * 24约为9.5),在Oracle中添加9.5小时的方法是:

your_date + INTERVAL '570' MINUTE

那是因为9.5小时= 570分钟。您也可以这样做,这可能会更好;你的选择:

your_date + INTERVAL '9' HOUR + INTERVAL '30' MINUTE

要添加IF逻辑,请使用CASE语句。总而言之,你得到这样的东西:

SELECT
  CASE
    WHEN Region = 'APAC' THEN Created + INTERVAL '570' MINUTE
    ELSE Created
  END
FROM your_table
... and so on

答案 1 :(得分:0)

在ORACLE中,您可以更改数据库的时区:

ALTER database SET TIME_ZONE = '09:30';