程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> 關於Oracle數據庫 >> Oracle中轉義字符的詳細介紹

Oracle中轉義字符的詳細介紹

日期:2017/4/17 16:30:26      編輯:關於Oracle數據庫

最近工作中遇到一個需求,需要更新Oracle數據庫中所有表的一個字段“flag”為“I”,語句為:

update table_name set flag = 'I'

“I”作為字符串,所以語句中I需要加上單引號。

由於數據庫中有多張表,我不想一條一條的語句寫,希望能夠通過sql語句直接生成所有的語句,所以寫了如下sql:

select 'update ' || table_name || ' set flag = 'I'' || ';' from user_tables

這個時候運行,“報錯:ORA-00923: 未找到要求的 FROM 關鍵字”,報錯位置就在'I”的第二個單引號位置,因為單引號配對關系,I不是字符串了,所以就報錯了,那麼如果要顯示一個單引號該怎麼做呢?

試了語句:

select ''' from dual

同樣也會報錯,原來“'”作為一個關鍵字,如果需要顯示“'”,需要使用轉義字符,就像java的“\”一樣。

而Oracle的轉義字符就是單引號“'”,所以sql應該這麼寫:

select '''' from dual

怎麼理解呢?把第二個單引號“'”看成“\”就好了,所以我需要的sql就是:

select 'update ' || table_name || ' set flag = ''I''' || ';' from user_tables

這樣就OK啦!

總結

以上就是關於Oracle轉義字符的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved