【发布时间】:2011-07-20 14:52:16
【问题描述】:
我正在研究一个我无法弄清楚的问题,但我相信我今天取得了一些进展。在where子句中,有如下代码:
AND to_number(REPLACE(TRANSLATE ( decode( INSTR(hra_ans.answer_text, '.',1 , 2), 0 , UPPER(hra_ans.answer_text) , 0),'ABCDEFGHIJKLMNOPQURSTWVXYZ+<>:',' '), ' ','')) >= 10
现在,这个 hra_ans.answer_text 列可以包含从“>”到“>15”到“13.68”到“无结果”到“1.2.3.4”等任何内容。无效数字错误只会间歇性发生,而不是每次时间。我尝试使用表达式“[^0-9.]”将 Translate 替换为 Regexp_Replace,但这也不能解决问题。我在 SO 上找到了这个:
Here is a similar question I stumbled accross.
在那篇文章中,似乎由于没有明确的操作顺序而导致错误。我有可能遇到同样的情况吗?如果不是,是否会导致这种行为?
谢谢!
【问题讨论】: