Oracle 單引號 雙引號 轉義符 分隔符


概述

單引號用來標記字符串
雙引號用來標記識別對象名

以下使用會比較繞:

字符串中出現單引號、雙引號;
表或字段等對象的別名(alias)中出單引號、雙引號;
單引號、雙引號與空格一起使用;

雙引號

雙引號的作用是:假如建立對象的時候,對象名、字段名加雙引號,則示意Oracle將嚴格區分大小寫,否則Oracl都默認大寫。

單引號、雙引號、字符串

Oracle10g之前,字符串中出現單引號,可以用兩個單引號來表示一個單引號,相當於轉義。例子:

select 'I''m a String!' from dual;
-- 更多單引號的例子
select '''' from dual; -- 查詢結果 表示一個單引號
select '一個單引號''' from dual;
select '兩個單引號''''' from dual;

--雙引號在字符串中不受影響。
select '"' from dual;-- 一個雙引號
select '一個雙引號"' from dual;
select '"兩個雙引號"' from dual;

從oracle10g開始,可以運用分隔符<>,[],{}來處理括起來的字符串,用法:前綴q'[string]'。分隔符中括起來的字符串中可以包含單/雙引號,不用再轉義。類似python中的raw字符串:

官方解釋:Use The Quote(q) operator and delimiter to allow the use of a single quotation mark with the literal character string in the SELECT clause.
--- 單引號
select q'[I'm a String!]' from dual;
select q'[I'''''m a String!]' from dual;
--- 雙引號
select q'[I"m a String!]' from dual;
select q'[I"""""m a """"String!""""]' from dual;

Oracle 另一個轉義關鍵字escape用在LIKE表達式中,常用來處理_$。它們在表達式中表示特殊含義,需要轉義表示就需要查找這個字符本身而不是把它當通配符用:

select COL1 from TAB1 where COL1 like '%\_io\_%' escape '\';

escape后面接任意字符比如常用的# \ @ &,緊接着這個字符后面的字符將失去通配符的功能。

參考:
[1]: https://www.cnblogs.com/gsk99/archive/2011/04/19/2021267.html 'Oracle中的 單引號 和 雙引號'


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM