2011-03-22 103 views
2

当我使用sysdate查询数据库时,我得到了带PST时间的sysdate。 [我的服务器在PST时区)从Oracle获取IST日期

我如何转换或从PST获取IST日期。 [考虑夏令时开/关]

IST - 印度标准时间。 PST - 太平洋。

回答

2

你需要移动到时间戳和时区:

systimestamp AT TIME ZONE 'IST' 

PS:我没有接近甲骨文现在并不能检查名称为“IST”时区是否存在。如果没有 - 你可以找到所有的时区中SELECT tzname FROM V$TIMEZONE_NAME

+0

您也可以使用UTC,如果Oracle没有你的时区命名偏移: SYSTIMESTAMP AT TIME ZONE“+05:30” – Craig 2011-03-22 13:13:38

+1

@Craig:是的,但在这种情况下,将无法处理夏季 – zerkms 2011-03-22 13:49:38

+0

的好处。如果在脚本中使用,则必须予以考虑。如果您的会话已经设置了正确的时区,另一种可能是使用“localtimestamp”而不是“systimestamp”。 – Craig 2011-03-22 13:57:25