最近兩個月USER偶爾指出一些報表無法RUN,出現ERROR。
提示說:
ORA-01722: invalid number
[@more@]經排查發現是客戶檔中的CUSTOMER_NUMBER的條件出問題。
我之前都習慣用: ar_customer.customer_number in (1666,1667)這樣子。
我將其改為
ar_customer.customer_number in ('1666','1667')
就OK了。
這可能是DBA最近上了某個PATCH後,ERP裡不再自動轉換。
因為在TOAD裡或REPORT BUILD中,不帶單引號也能正常。隻在ERP環境下有此問題。
以後對非NUMBER型的字段還是要加單引號了。以免造成不必要的後果。