首页 \ 问答 \ 使用BETWEEN或<=,> =用于Oracle时间戳(Using BETWEEN or <=, >= for Oracle timestamps)

使用BETWEEN或<=,> =用于Oracle时间戳(Using BETWEEN or <=, >= for Oracle timestamps)

我的Oracle表有一个带TIMESTAMP(3) WITH TIME ZONE数据类型的列tmstp

当我运行以下查询

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');

它会给出两倍的计数,如下面的查询:

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');

我认为他们应该给出相同的结果。 关于可能发生什么的任何输入? 我应该如何调试?


My Oracle table has a column tmstp with the TIMESTAMP(3) WITH TIME ZONE datatype.

When I run the following query

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');

it gives about twice the count as the following query:

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');

I thought they should give equivalent results. Any input on what might be happening? How should I debug this?


原文:https://stackoverflow.com/questions/4258529
更新时间:2019-07-04 04:39

最满意答案

抱歉,添麻烦了。 我想到了。 我的问题实际上也有缺陷,因为我编辑它以隐藏机密数据。

在其中一个查询中,AM和时区偏移量之间有一个额外的空白,导致了不同的结果。

愚蠢的我。

因此,如果转换的时间戳字符串与空白位关闭,则答案可能会关闭。


Sorry for the trouble. I figured it out. My question is actually flawed too because I edited it to hide confidential data.

There was an extra whitespace between the AM and timezone offset in one of the queries and that caused different results.

Stupid me.

So if the timestamp string that is converted is a bit off with whitespaces, the answers might be off.

2010-11-23

相关问答

更多

两个UNIX时间戳之间的人类可读持续时间(Human-readable duration between two UNIX timestamps)

对于较旧的日期,使用闰年公式开始计算从Unix开始日期1970年1月1日到您的第一个时间戳的天数 (对于闰秒,dunno如果你需要那么准确,希望会超出范围?) 通过约束日期到1600AD之后计算的闰年和公历的算法来自: http : //en.wikipedia.org/wiki/Leap_year of if year modulo 400 is 0 then is_leap_year else if year modulo 100 is 0 then not_leap_year else if ...

在matplotlib中绘制unix时间戳(plotting unix timestamps in matplotlib)

可以调用plt.plot(dates,values) , dates是datetime.datetime对象的列表。 情节将包括像'%Y-%m-%d'这样的格式的xticks,并且在您放大时会自动更改为显示小时,分钟和秒的格式。 但是,这听起来像你想要更多的控制比这个。 也许它不会显示您希望的规模的小时,分钟,秒。 在这种情况下,您可以设置自己的日期格式化程序: ax=plt.gca() xfmt = md.DateFormatter('%Y-%m-%d %H:%M:%S') ax.xaxis.s ...

Chrome中的console.log时间戳?(console.log timestamps in Chrome?)

在Chrome中,可以使用名为“显示时间戳”的控制台设置(开发人员工具 - >控制台 - >设置[右上角]),这正是我所需要的。 我刚刚发现了 没有其他肮脏的黑客需要破坏占位符,并将消息从其中记录的代码中删除。 In Chrome, there is the option is Console Settings (Developer Tools -> Console -> Settings [upper-right corner] ) named "Show timestamps" which i ...

使用Oracle SQL在字符之间添加管道分隔符(adding a pipe seperator between characters with Oracle SQL)

regexp_replace 将完成这项工作: select regexp_replace('foobar','(.)','\1 | ') from dual 会给你 f | o | o | b | a | r | 一个简单的方法摆脱最后一个栏(编辑,缺少空白): select substr(regexp_replace('foobar','(.)','\1 | '),1, length('foobar')*4-3) from dual 产量 f | o | o | b | a | r ...

相邻的[NSDate日期]调用并不总是产生不同的时间戳?(Adjacent calls to [NSDate date] do not always produce different timestamps?)

CPU速度很快。 NSTimeInterval的分辨率不是无限的。 NSDate只是某个参考日期的NSTimeInterval偏移量。 如果两次调用[NSDate date]之间的指令执行时间比NSTimeInterval提供的NSTimeInterval时间NSTimeInterval ,则它们之间的间隔将为零。 CPUs are fast. The resolution of NSTimeInterval is not infinite. NSDate is just an NSTimeInt ...

Oracle与NVL和Coalesce之间的差异(Oracle Differences between NVL and Coalesce)

COALESCE是更现代化的功能,它是ANSI-92标准的一部分。 NVL是Oracle具体的,它是在80年代之前推出的,之前有任何标准。 在两个值的情况下,它们是同义词。 但是,它们的实现方式不同。 NVL总是评估两个参数,而COALESCE在发现第一个非NULL时停止评估: SELECT SUM(val) FROM ( SELECT NVL(1, LENGTH(RAWTOHEX(SYS_GUID()))) AS val FROM dual ...

oracle.jdbc.OracleConnection接口和T4CConnection类之间的关系是什么?(What is the relationship between the oracle.jdbc.OracleConnection interface and the T4CConnection class?)

T4CConnection通过以下继承层次实现OracleConnection : oracle.jdbc.driver.T4CConnection扩展oracle.jdbc.driver.PhysicalConnection ,它扩展了oracle.jdbc.driver.OracleConnection ,它扩展了实现oracle.jdbc.OracleConnection 。 该错误可能是类加载问题的结果,其中Oracle类由不同的类加载器从多个jar加载。 这些来源( 1,2,3 )更详细 ...

使用strptime转换时间戳 - R [重复](Converting timestamps using strptime - R [duplicate])

大写%Y用于四位数年份。 您必须使用%y两位数年份。 strptime("140128142257", format = "%y%m%d%H%M%S") # [1] "2014-01-28 14:22:57" The uppercase %Y is used for four-digit years. You have to use %y for two-digit years. strptime("140128142257", format = "%y%m%d%H%M%S") # [1] "2 ...

相关文章

更多

最新问答

更多
  • Android宽度:100%修复(网站接管问题)(Android width:100% fix (website takeover issue))
  • C ++函数/方法设计的良好实践(Good practice in C++ function/method design)
  • 计算其他表中不存在的所有记录 - SQL查询(Count all records that does not exist to other table - SQL Query)
  • 为什么我要用JPA共享ID?(Why do I get shared Ids with JPA?)
  • asp.net - 如何显示来自html格式的数据行的字段(asp.net - how to display a field from data row that is in html format)
  • 我们如何使用ActiveRecord从连接表中删除行?(How can we delete rows from a join table by using ActiveRecord?)
  • ng-class搞乱了类的顺序(ng-class messing with the order of classes)
  • oracle 12g无效数字错误(oracle 12g invalid number error)
  • 更改ng-src值onclick(Change ng-src value onclick)
  • 如何在android中自动添加自定义依赖项以创建新项目?(How to add custom dependencies automatically in android for ever a new project is created?)
  • datetime函数在PHP中(datetime function in php)
  • 在javascript中获取会话数组的值(in javascript get the value of a session array)
  • 如何在UTF8中编译LaTeX?(How can I compile LaTeX in UTF8? [closed])
  • Rspec:“array.should == another_array”,但不用担心订单(Rspec: “array.should == another_array” but without concern for order)
  • Logcat错误:无法在android片段中加载视图(Logcat error: unable to load view in android fragments)
  • JavaFX的。(JavaFX. Adding items to the list in different threads is not working)
  • 从GDATA日历资源迁移到Google Calendar Resource api(Migrate from GDATA calendar resource to Google Calendar Resource api)
  • SSRS 2008 - 以零情景处理分割(SSRS 2008 - Dealing with division by zero scenarios)
  • 我如何以编程方式添加一个listView列标题的点击事件(How can I add a listView column header a click event programmatically)
  • Wxpython:无法检索有关列表控件项XXX的信息(Wxpython: Couldn't retrieve information about list control item XXX)
  • 使用Tortoise SVN在SVN存储库中移动目录(Move Directory across SVN repository using Tortoise SVN)
  • 天蓝色服务结构集群中的web api无状态服务是否在一段时间不活动后进入休眠状态?(Do web api stateless services in azure service fabric cluster go to sleep after a period of inactivity?)
  • 我可以设置intelliJ来突出显示PHP编码风格吗?(Can I set intelliJ to highlight php coding style?)
  • 用javafx创建一个Truetype字体文件(Creating a Truetype Font file with javafx)
  • Spring ftp配置错误(Spring ftp configuration is wrong)
  • 使用gsub去除多个字符(Using gsub to strip multiple characters)
  • 续订推送证书并保持当前的App Store App正常工作(Renew Push certificate and keep current App Store App working)
  • js:ES5和ES6之间关于'this'关键字用法的一个令人困惑的观点(js: one confusing point about 'this' keyword usage between ES5 and ES6)
  • window.onload vs $(document).ready()(window.onload vs $(document).ready())
  • 在Swift中,如何声明一个符合一个或多个协议的特定类型的变量?(In Swift, how can I declare a variable of a specific type that conforms to one or more protocols?)