我需要编写 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 查询。
只需尝试以下查询
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