關於客戶表中的CUSTOMER_NUMBER為非NUMBER字段造成的困域

最近兩個月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型的字段還是要加單引號了。以免造成不必要的後果。

请使用浏览器的分享功能分享到微信等