1

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

我的查询字段如下所示。这是一个计算字段。'Employee List' 是表名,'Region'&'Created' 是这里的字段名称。这里添加了 0.3958 以使 APAC 地区的日期与其他两个地区的日期保持一致。

报告日期:

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

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

谢谢

4

2 回答 2

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
于 2013-05-24T16:44:22.037 回答
0

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

ALTER database SET TIME_ZONE = '09:30';
于 2013-05-24T16:46:08.270 回答