2016-01-22 38 views
-1

我相信这个表中的一些行有一些不好的数据。当我尝试这样的事情时,我会收到无效号码...其他表格不会导致问题。无效的数字oracle日期时间添加

有没有办法阻止查询失败?

where to_char(t1.create_date) 
between to_char(t2.create_date - INTERVAL '10' MINUTE) and 
to_char(t2.create_date + INTERVAL '10' MINUTE) 
+3

删除所有'to_char's和它可能工作! –

+0

我要再试一次,查询的运行时间相当长。在添加to_chars之前,我确实发生了无效数字错误。那是在我将内部'10'分钟从+ .0x改为分钟之前。手指交叉? – yeahthisisrob

+1

你正在做一个字符串隐式或显式转换为选择列表中的一个数字,或一个连接,或where子句中的其他地方?你是如何建立它是引发异常的区间计算? –

回答

0

你可以做这样的事情:

where t1.create_date 
between (t2.create_date - 10/1440) and (t2.create_date + 10/1440) 
+0

间隔不会导致问题。 OP在评论中提到他们在更改为间隔之前具有'+ 0.x',这与您正在做的事情是一样的。这似乎与问题中显示的代码无关。 –