我需要编写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查询。
答案 0 :(得分:0)
只需尝试以下查询
SELECT FROM_TZ (
CAST (SYSDATE AS TIMESTAMP)--replace sysdate with your date column
, 'GMT'
)
AT TIME ZONE 'Asia/Calcutta'
FROM DUAL;
在我的情况下,时区是CET,与INDIA有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