0

我需要编写 sql 查询来获取 IST 格式的日期范围的记录。我们以 GMT 格式将数据存储在数据库中。

select * 
from tableA a 
where to_date(a.end_date,'DD-MON-YYYY') between date1 and date2;

(end_date 是 tableA 表中的列之一)

现在 date1 和 date2 应该从 IST 时区的数据库中获取记录。

我如何为上述要求编写 sql 查询。

4

1 回答 1

0

只需尝试以下查询

SELECT FROM_TZ (
               CAST (SYSDATE AS TIMESTAMP)--replace sysdate with your date column
                , 'GMT'
               )
        AT TIME ZONE 'Asia/Calcutta'
  FROM DUAL;

在我的情况下,时区是 CET ,与印度有 3.5 小时的差异

select systimestamp from dual

7/30/2013 4:24:10.379910 PM +02:001


SELECT FROM_TZ (
               CAST (SYSDATE AS TIMESTAMP)--replace sysdate with your date column
                , 'GMT'
               )
        AT TIME ZONE 'Asia/Calcutta'
  FROM DUAL;

7/30/2013 7:54:10.000000 PM +05:30
于 2013-07-30T14:10:43.290 回答