往往在操作PL/SQL時會遇到所謂的靈異現象,明明兩字串肉眼看都一模一樣,可是程式就是不往設定的流程跑,會發生此問題,主要是PL/SQL和Oracle在對資料型態不同的字串處理方式不一樣。

PL/SQL以varchar2類型接收Oracle的char類型,將會自動去除後端的空白;以char類型接收varchar2類型,會補滿空白。

Oracle的varchar2接收char時,不會去除空白;Oracle的char接收varchar2會補滿空白。

因此當兩字串比較時,就會因空白的差異而得到非預期的結果。此時建議用

RTRIM

函示來去除尾端的空白,讓程式正常運行。

,

mark528 發表在 痞客邦 PIXNET 留言(0) 人氣()