在dml中,若操作的字元中有 & 特殊字元,則會被oracle視作是輸入變數的標誌,此時需要用轉義字元來進行轉義。
這個是oracle
裡面用來識別自定義變數的設定,現在我們在sql*plus下將其關閉:
sql set define off;
然後再次執行匯入指令碼,ok!問題搞定。
注意:如果是在toad中執行,建議在每乙個要匯入的指令碼第一行加上前面那句關閉define的話,否則當你匯入第二個含有特殊字元的指令碼的時候,又會出錯。
如果是在sql*plus中執行,則只需要設定一次define off,後面就可以連續匯入了。直到你重新設定define on為止。
·方法二:在sql語句中將'&'替換成chr(38),因為chr(38)是『&』的ascii碼
sql select 'tom' || chr(38) || 'jerry' from dual;
·方法三:分拆原來的字串
sql select 'tom' || '&' || 'jerry' from dual;
我們可以看到,方法一最為簡便,而且效率也最高。方法二因為有乙個呼叫函式的過程,所以效能稍差。方法三需要兩次連線字串,效率最差!
·方法一:使用轉義字元
sql select 'test' || '''' from dual;
第三個'才是我們真正的內容
·方法二:同樣是使用轉義字元,只不過方式不同而已
sql select 'test ''' from dual;
注意:這裡的第二個,第三個'就是我們上面方法一中提到的轉義符和真正的內容
oracle 特殊字元轉義
環境 oracle 9i plsql 在plsql裡邊執行 update userinfo set pageurl myjsp?page 1 pagesize 10 where id test 這條sql語句往資料庫的pageurl欄位放進去了乙個url位址,但是執行的時候卻並非那麼理想,因為這其中...
oracle中插入特殊字元要轉義
感謝原作者,此處僅儲存學習!oracle資料有個字段是儲存url的,內容有特殊字元 如果直接想執行查詢或插入操作的話有問題,如下 在plsql裡邊執行 update userinfo set pageurl test.php?page 1 pagesize 10 where id test 這條sq...
php中的特殊字元轉義 php特殊字元轉義詳解
html array html username htmlentities clean username ent quotes,utf 8 echo welcome back,複製 小提示htmlspecialchars 函式與htmlentities 函式基本相同,它們的引數定義完全相同,只不過是...