在SQL*Plus中默認的"&"表示替代變量,也就是說,只要在命令中出現該符號,SQL*Plus就會要你輸入替代值。這就意味着你無法將一個含有該符號的字符串輸入數據庫或賦給變量,如字符串“SQL&Plus”系統會理解為以“SQL”打頭的字符串,它會提示你輸入替代變量Plus的值,如果你輸入ABC,則最終字符串轉化為“SQLABC”。
方法一:set define off
set define off 則關閉該功能,"&"將作為普通字符,如上例,最終字符就為“SQL&Plus”
set define off關閉替代變量功能
set define on 開啟替代變量功能
set define * 將默認替代變量標志符該為"*"(也可以設為其它字符)
方法二:在SQL語句中將'&'替換成chr(38),因為chr(38)是'&'的ASCII碼
SQL> Select 'Tom' || chr(38) || 'Jerry' from dual;
方法三:分拆原來的字符串
SQL> Select 'Tom' || '&' || 'Jerry' from dual;