Rus*_*ell 8 sql oracle oracle10g
我的Oracle表有一个tmstp包含TIMESTAMP(3) WITH TIME ZONE数据类型的列.
当我运行以下查询时
SELECT COUNT(column1)
FROM table1
WHERE tmstp BETWEEN to_timestamp_tz('10-OCT-10 05.00.00.000000000 AM -05:00', 'DD-MON-RR HH.MI.SSXFF AM TZR')
AND to_timestamp_tz('11-OCT-10 04.59.59.999999999 AM -05:00', 'DD-MON-RR HH.MI.SSXFF AM TZR');
Run Code Online (Sandbox Code Playgroud)
它提供的计数大约是以下查询的两倍:
SELECT COUNT(column1)
FROM table1
WHERE tmstp >= to_timestamp_tz('10-OCT-10 05.00.00.000000000 AM -05:00', 'DD-MON-RR HH.MI.SSXFF AM TZR')
AND tmstp <= to_timestamp_tz('11-OCT-10 04.59.59.999999999 AM -05:00', 'DD-MON-RR HH.MI.SSXFF AM TZR');
Run Code Online (Sandbox Code Playgroud)
我认为他们应该给出相同的结果.关于可能发生什么的任何意见?我该怎么调试呢?
抱歉,添麻烦了.我想到了.我的问题实际上也存在缺陷,因为我编辑它来隐藏机密数据.
在其中一个查询中,AM和时区偏移之间存在额外的空白,从而导致不同的结果.
愚蠢的我.
因此,如果转换的时间戳字符串与空格有点关闭,则答案可能会关闭.