Ask Hoegh(7)——寫sql時如何輸出單引號?
問:寫sql時如何輸出單引號?
答:在ORACLE中,單引號有兩個作用,一是表示字串的開始和結束符號,二是充當跳脫字元,初學者對於動態構成SQL經常犯錯。單引號的使用是就近配對,即就近原則。而在單引號充當轉義角色時相對不好理解。
我們以's為例,看一下如果正確輸出單引號以及常見的錯誤。
SQL> select ''s' from dual;
ERROR:
ORA-01756: 引號內的字串沒有正確結束
我們看到系統報錯,這是由於在 SQL 中單引號表示字串的開始和結束符號,於是 SQL 直譯器會認為前面兩個單引號是一個空字串,其後的語句顯然是個錯誤的語句,當然會報錯,為了解決字串的單引號問題,就出現了跳脫字元串。
SQL> select '''s' from dual;
''
--
's
我們看到上述語句正確輸出了‘s,比第一個報錯語句多了一個單引號,其中,第一個和第四個單引號表示字串的開始和結束符號,第二個單引號表示跳脫字元,第三個單引號就是我們要輸出的單引號。
另外,為了增加可讀性和可用性,Oracle引入了引用運算子Quote (q) Operator。引用運算子的使用很靈活,支援[ ],{ }, ( ),或者< >。我們看一下使用方法。
SQL>
SQL> select q'['s]' from dual;
Q'
--
's
SQL> select q'<'s>' from dual;
Q'
--
's
SQL>
看到了吧,很簡單,也很靈活。
~~~~~~~ the end~~~~~~~~~
hoegh
2016.05.06
答:在ORACLE中,單引號有兩個作用,一是表示字串的開始和結束符號,二是充當跳脫字元,初學者對於動態構成SQL經常犯錯。單引號的使用是就近配對,即就近原則。而在單引號充當轉義角色時相對不好理解。
我們以's為例,看一下如果正確輸出單引號以及常見的錯誤。
SQL> select ''s' from dual;
ERROR:
ORA-01756: 引號內的字串沒有正確結束
我們看到系統報錯,這是由於在 SQL 中單引號表示字串的開始和結束符號,於是 SQL 直譯器會認為前面兩個單引號是一個空字串,其後的語句顯然是個錯誤的語句,當然會報錯,為了解決字串的單引號問題,就出現了跳脫字元串。
SQL> select '''s' from dual;
''
--
's
我們看到上述語句正確輸出了‘s,比第一個報錯語句多了一個單引號,其中,第一個和第四個單引號表示字串的開始和結束符號,第二個單引號表示跳脫字元,第三個單引號就是我們要輸出的單引號。
另外,為了增加可讀性和可用性,Oracle引入了引用運算子Quote (q) Operator。引用運算子的使用很靈活,支援[ ],{ }, ( ),或者< >。我們看一下使用方法。
SQL>
SQL> select q'['s]' from dual;
Q'
--
's
SQL> select q'<'s>' from dual;
Q'
--
's
SQL>
看到了吧,很簡單,也很靈活。
~~~~~~~ the end~~~~~~~~~
hoegh
2016.05.06
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30162081/viewspace-2094931/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- db2 sql輸出帶有單引號DB2SQL
- awk拼sql時要注意分號,單引號的問題.SQL
- SQL語句中的單引號與雙引號SQL
- Ask Hoegh(5)——buffer cache和buffer有什麼區別?
- 在ORACLE SQL語句中,單引號和雙引號的使用OracleSQL
- 【轉義】使用SQL生成SQL語句時單引號的轉義處理SQL
- python中怎麼輸出雙引號Python
- ORACLE 單引號 雙引號Oracle
- Ubuntu下鍵盤輸入錯亂問題,輸入雙引號輸出的是@符號,輸入#號輸出的是未知語言的字元...Ubuntu符號字元
- linux 單引號,雙引號,反引號Linux
- HTML 單引號與雙引號HTML
- Golang的單引號、雙引號與反引號Golang
- 【轉義】使用SQL生成SQL語句時單引號的轉義處理之q'{}'方法SQL
- Ask Hoegh(3)——對delete操作設定NOLOGGING能否加快速度?delete
- Ask Hoegh(4)——select count(*)和select count(1)、count(column)有區別嗎?
- win10 如何輸入直角引號_win10直角引號怎麼打Win10
- 最佳實踐|如何寫出簡單高效的 Flink SQL?SQL
- 單引號在動態SQL中的處理SQL
- 如何寫出高效能SQLSQL
- 如何寫出效能好的sqlSQL
- python中單引號,雙引號,多引號區別Python
- Linux Shell 中的反引號,單引號,雙引號Linux
- js實現的輸出雙引號程式碼例項JS
- sql中別名as,不寫,以及使用雙引號總結SQL
- oracle 中使用單引號(')和雙引號(")Oracle
- Oracle中的 單引號 和 雙引號Oracle
- oracle 裡的單引號與雙引號Oracle
- 如何使用python輸出連續星號?Python
- python輸出時如何換行Python
- laravel 輸出sqlLaravelSQL
- grep 後加單引號、雙引號和不加引號的區別
- shell 指令碼中雙引號、單引號、反引號的區別指令碼
- Python中 單引號,雙引號和三引號的區別Python
- 【C進階】14、單引號和雙引號
- Jquery單引號和雙引號的使用注意jQuery
- Mysql單引號使用MySql
- 編寫一程式,輸入月份號,輸出該月的英文月名。
- SQL WHERE IN引數化編譯寫法簡單示例SQL編譯