2016-01-22 14 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',這與您正在做的事情是一樣的。這似乎與問題中顯示的代碼無關。 –