1樓:刺友互
1、在轉義特殊字元的時候通常使用的就是單引號。但這種轉義方式很不直觀。
2、在oracle中使用q' 來對特殊字元進行轉義。q'轉義符通常後面使用! {} () <>等轉義符號。
3、也可以使用\ 。
4、也可以使用<>。
5、用上述的方法不僅直觀而且也不容易出錯。如果依然使用'' ""這種方式的話很容易在書寫的時候出現各種錯誤,而且不容易排錯。
6、如圖下錯誤,如果出現這種情況使用q'進行轉義很容易就可以看出錯誤的原因,而且也很方便。所以建議多使用q進行轉義。
2樓:龍氏風采
在oracle中,單引號有兩個作用:
1:字串是由單引號引用
2:轉義。
單引號的使用是就近配對,即就近原則。而在單引號充當轉義角色時相對不好理解1.從第二個單引號開始被視為轉義符,如果第二個單引號後面還有單引號(哪怕只有一個)。
sql> select '''' result from dual;
result
------
'第二個單引號被作為轉義符,第三個單引號被轉義,可將sql寫成這樣更好理解:
select ' '' ' from dual;
output:'
//2.連線符『||』導致了新一輪的轉義:
連線符號『||』左右的單引號沒有任何的關係,除非『||』是作為字串的一部分(這在動態sql中很常見)。
sql> select 'name'||'''' result from dual;result
------
name'
理解:||後面的作為一個字串,即前後是',中間又是一個密集型單引號串'',因此第一個為轉義功能.
sql> select 'name''''' result from dual;
result
------
name''
第一個和最後一個單引號作為字串引用符,中間四個單引號兩兩轉義.
//oracle中使用雙引號:
1)一般來說,字串中的雙引號僅僅被當作一個普通字元進行處理。
此時,雙引號不需要成對出現:
sql> select 'hh24"小時""mi""分"""ss"秒"' results from dual;results
-------------------------
hh24"小時""mi""分"""ss"秒"
//2)當出現在to_char的格式字串中時,雙引號有特殊的作用,就是將非法的格式符包裝起來,避免出現ora-01821: date format not recognized錯誤。
也就是說,去掉雙引號和其包含的字元後,剩下的應該是一個合法的格式串。
to_char在處理格式字串時,會忽略雙引號:
sql> select to_char(sysdate,'hh24"小時"mi"分"ss"秒"') results from dual;results
--------------
06小時39分51秒
//格式串為'hh24"小時"mi"分"ss"秒"';
去掉雙引號部分後,剩下的是'hh24miss',是一個合法的格式串。
不過即使真不知道雙引號的這個用法,也可以這樣來處理,雖然麻煩一點:
select to_char(sysdate, 'hh24') || '小時' ||to_char(sysdate, 'mi') || '分' ||
to_char(sysdate, 'ss') || '秒'
as result
from dual;
result
--------------
06小時40分18秒
3樓:
使用單引號來轉義,如:「 sql='select * from table where name='''||v_test||'''' 」。
4樓:匿名使用者
oracle中單引號用chr(39)轉義
5樓:匿名使用者
『』』的效果在資料庫中要這麼使用''''
oracle 插入帶有單引號的語句怎麼插入
6樓:匿名使用者
你這樣 如果要插入的字串中有單引號, 那麼就需要skip掉。
先用個簡單的例子, 比如你要顯示 i'm 27 years old 作為字串。
那麼:select 'i''m 27 yrs old' from dual; --> 這裡看好: 最外層2個 單引號是說明後面是字串。
裡面的內容變成了 i''m ..... 用了2個單引號。 第一個是表示「跳過」, 而不作為整個字串的結尾。 第二個是真的內容。
所以, 你如果要插入以上的sql整個句子作為字串,
那麼就:
insert into tablet (testcolumn)
values (' select * from abc where a=''ab'' and b=''aa'' and c=''aa''');
每個單引號前面加上一個單引號「跳過」 而不進行字串結尾處理。
7樓:松鼠就是我
複製貼上其中的內容,然後單獨編輯, 接著control+f 搜尋 , 裡面有個替換, 那麼就用 : 兩個單引號替換一個單引號,或者可以寫個程式去進行字串修改。
select * from abc where a='ab' and b='aa' and c='aa' 換成單引號由一個換成兩個
select * from abc where a=''ab'' and b=''aa'' and c=''aa'';
string sql = "insert into info (value) values('" + value + "')";(value是字串變數)
8樓:匿名使用者
select * from abc where a='ab' and b='aa' and c='aa'
換成單引號由一個換成兩個
select * from abc where a=''ab'' and b=''aa'' and c=''aa''
oracle插入帶有單引號的語句怎麼插入?
9樓:松鼠就是我
複製貼上其中的內容,然後單獨編輯, 接著control+f 搜尋 , 裡面有個替換, 那麼就用 : 兩個單引號替換一個單引號,或者可以寫個程式去進行字串修改。
select * from abc where a='ab' and b='aa' and c='aa' 換成單引號由一個換成兩個
select * from abc where a=''ab'' and b=''aa'' and c=''aa'';
string sql = "insert into info (value) values('" + value + "')";(value是字串變數)
單引號的作用,雙引號和單引號的用法是什麼?
引號的作用如下 1 表示引用。2 表示特定稱謂。示例 荷蘭有 歐洲花園 花卉王國 的美譽。3 表示特殊含義。示例 多災多難的黃河怎麼能成為中華民族的 搖籃 4 表示諷刺和嘲笑。示例 有幾個 慈祥 的老闆到菜場去收集一些菜葉,用鹽一浸,這就是他們難得的佳餚。5 突出強調。示例 從山腳向上望,只見火把排...
Linux裡單引號和雙引號的區別
shell指令碼中的單引號和雙引號一樣都是字串的界定符,而不是字元的界定符。單引號用於保持引號內所有字元的字面值,即使引號內的 和回車也不例外,但是字串中不能出現單引號。注意是所有,只是單引號本身不能夠出現在其中 雙引號用於保持引號內所有字元的字面值 回車也不例外 但以下情況除外 加變數名可以取變數...
php中怎麼把json雙引號前加上轉義符
arr array 男 age 30,job 程式猿 json json encode arr result addslashes json echo json資料 json.轉義結果 result stripslashes 函式刪除由 addslashes 函式新增的反斜槓。參考資料 通過ajax...