欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Oracle10gSQL中q-quote怎么用

這篇文章給大家分享的是有關(guān)Oracle 10g SQL中q-quote怎么用的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

為河?xùn)|等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及河?xùn)|網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、河?xùn)|網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

 在Oracle中,字符串的字面量如果含有單引號,那么必須轉(zhuǎn)義,而且轉(zhuǎn)義符是單引號',這樣加上表示字符串字面量的外層'',那么勢必要寫很多單引號,不僅可讀性降低,而且容易出錯(cuò)。當(dāng)然,使用chr(39),也可以代替引號,可能比寫多個(gè)單引號更好,可讀性強(qiáng),但是畢竟這種寫法不是很常見。SO,在10g中,Oracle引入了q-quote的用法。
  常規(guī)字符字面量內(nèi)單引號的使用:

dingjun123@ORADB> select ''' str from dual;
ERROR:
ORA-01756: 引號內(nèi)的字符串沒有正確結(jié)束

--要使用轉(zhuǎn)義,兩個(gè)單引號表示一個(gè)單引號
dingjun123@ORADB> select '''' str from dual;
S
-
'

dingjun123@ORADB> select '''a''' str from dual;
STR
---
'a'


  另外可以使用CHR(39)作為引號來拼湊,比較簡潔

dingjun123@ORADB> SELECT 'It'||chr(39)||' a cat' str FROM dual;
STR
---------
It' a cat


    雖然使用chr(39),但是看起來還是很麻煩,所以10g引入了q-quote特性。允許按照指定規(guī)則也就是Q或q開頭(如果是national character literals,那就是N或n放在Q或q之前),然后'界定符號原始字面量界定符號',使用規(guī)則很簡單:

1) q-quote界定符可以是除了TAB,空格,回車外的任何單字節(jié)或多字節(jié)字符。
2) 除了單字節(jié)的的開始界定符是[,{,<,(,那么結(jié)束界定符必須是],},>,)  其他開始界定符與結(jié)束界定符必須一致
如:

--4個(gè)特殊單字節(jié)開始界定符是[,{,<,(,結(jié)束界定符必須是],},>,)
dingjun123@ORADB> SELECT q'[a'bc]' str FROM dual;
STR
----
a'bc

dingjun123@ORADB> SELECT q'{a'bc}' str FROM dual;
STR
----
a'bc

dingjun123@ORADB> SELECT q'' str FROM dual;
STR
----
a'bc

dingjun123@ORADB> SELECT q'(a'bc)' str FROM dual;
STR
----
a'bc

--因?yàn)椤鹃_始界定付是多字節(jié),所以必須一致,特殊的就4個(gè)單字節(jié)界定符
dingjun123@ORADB> SELECT q'【a'bc[' FROM dual;
ERROR:
ORA-01756: 引號內(nèi)的字符串沒有正確結(jié)束

dingjun123@ORADB> SELECT q'【a'bc【' FROM dual;
Q'【
----
a'bc

--因?yàn)閉不是4個(gè)特殊界定符的開始界定符
dingjun123@ORADB> SELECT q']a'bc[' FROM dual;
ERROR:
ORA-01756: 引號內(nèi)的字符串沒有正確結(jié)束

dingjun123@ORADB> SELECT q']a'bc]' FROM dual;
Q']A
----
a'bc

--其他非特殊的4個(gè)開始界定符的要求開始與結(jié)束一致
--a是界定符

dingjun123@ORADB> SELECT q'ab'cda' str FROM dual; STR
----
b'cd

--A是界定符,但是結(jié)束的是a,不一致
dingjun123@ORADB> SELECT q'Ab'cda' str FROM dual;
ERROR:
ORA-01756: 引號內(nèi)的字符串沒有正確結(jié)束

dingjun123@ORADB> SELECT q'Ab'cdA' str FROM dual;
STR
----
b'cd

--+號是界定符
dingjun123@ORADB> SELECT q'+b'cd+' str FROM dual;
STR
----
b'cd

--單引號是界定符
dingjun123@ORADB> select q''ab'c'' from dual;
Q''A
----
ab'c

--National character literals
dingjun123@ORADB> SELECT nq'' str from dual;
STR
----------
a'b'c

dingjun123@ORADB> SELECT Nq'' str from dual;
STR
----------
a'b'c

dingjun123@ORADB> SELECT NQ'' str from dual;
STR
----------
a'b'c

dingjun123@ORADB> SELECT nQ'' str from dual;
STR
----------
a'b'c


    一般使用的時(shí)候,都是使用4個(gè)特殊字符作為界定符,這樣前后界定符包含了原生態(tài)字符串,可讀性更好。

感謝各位的閱讀!關(guān)于“Oracle 10g SQL中q-quote怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

網(wǎng)站標(biāo)題:Oracle10gSQL中q-quote怎么用
當(dāng)前路徑:http://chinadenli.net/article0/jiidio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序網(wǎng)站策劃用戶體驗(yàn)Google建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)