问题描述
嗨,
在使用11g r2中的systimestamp使用时区数据验证时间戳时,我面临一个问题。
我的数据库服务器在美国/中心区。
我有一个带有时区数据类型列的时间戳表,并且我为相同的时区 (美国/中央或UTC-5) 插入了未来的时间戳。
在从表中选择数据时,我们得到相同的数据。
我也有一个匿名块,它验证表中的时间戳是否交叉的systimestamp不是。
在3月更改夏令时之前,此过程正常运行。当systimestamp大于带有时区列的时间戳时,这两种方法都返回正确的输出。
但是,在更改夏令时后,通过将时区设置为US/Central格式插入的记录仅在实际时间后1小时后返回正确的输出。
我在livesql中提供了一个示例,希望这可以帮助解释我面临的问题。
这种行为有什么具体原因吗?
提前感谢您的帮助
谢谢,
Manoj
在使用11g r2中的systimestamp使用时区数据验证时间戳时,我面临一个问题。
我的数据库服务器在美国/中心区。
我有一个带有时区数据类型列的时间戳表,并且我为相同的时区 (美国/中央或UTC-5) 插入了未来的时间戳。
在从表中选择数据时,我们得到相同的数据。
我也有一个匿名块,它验证表中的时间戳是否交叉的systimestamp不是。
在3月更改夏令时之前,此过程正常运行。当systimestamp大于带有时区列的时间戳时,这两种方法都返回正确的输出。
但是,在更改夏令时后,通过将时区设置为US/Central格式插入的记录仅在实际时间后1小时后返回正确的输出。
我在livesql中提供了一个示例,希望这可以帮助解释我面临的问题。
这种行为有什么具体原因吗?
提前感谢您的帮助
谢谢,
Manoj
专家解答
I have inserted a future timestamp for same timezone (US/Central or UTC-5)
这些不是同一个时区!
UTC-5总是比UTC晚五个小时。
美国/中部是five or six落后几个小时,这取决于夏令时是否生效。4月实行夏令时,所以目前美国/中央-> UTC-6。
Systimetamp返回安装数据库的操作系统的日期和时区。如果这使用固定的时区偏移 (例如UTC),那么systimestamp和US/Central之间的差异将在五到六个小时之间切换,具体取决于一年中的时间。
这些不是同一个时区!
UTC-5总是比UTC晚五个小时。
美国/中部是five or six落后几个小时,这取决于夏令时是否生效。4月实行夏令时,所以目前美国/中央-> UTC-6。
Systimetamp返回安装数据库的操作系统的日期和时区。如果这使用固定的时区偏移 (例如UTC),那么systimestamp和US/Central之间的差异将在五到六个小时之间切换,具体取决于一年中的时间。
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




