久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Oracle 10g SQL中q

共計(jì) 1976 個(gè)字符,預(yù)計(jì)需要花費(fèi) 5 分鐘才能閱讀完成。

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

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

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

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

dingjun123@ORADB select a str from dual;
STR

a

  另外可以使用 CHR(39)作為引號(hào)來拼湊,比較簡(jiǎn)潔。

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 之前),然后 界定符號(hào)原始字面量界定符號(hào) , 使用規(guī)則很簡(jiǎn)單:

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: 引號(hào)內(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: 引號(hào)內(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: 引號(hào)內(nèi)的字符串沒有正確結(jié)束

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

–+ 號(hào)是界定符
dingjun123@ORADB SELECT q +b cd+ str FROM dual;
STR
—-
b cd

– 單引號(hào)是界定符
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)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-07-24發(fā)表,共計(jì)1976字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請(qǐng)注明出處。
評(píng)論(沒有評(píng)論)
主站蜘蛛池模板: 麻阳| 怀仁县| 郑州市| 沙洋县| 岐山县| 伊川县| 昌邑市| 即墨市| 陇川县| 九龙县| 苍梧县| 平阴县| 嵊州市| 富裕县| 安塞县| 嘉峪关市| 荆门市| 崇礼县| 白玉县| 新和县| 襄城县| 英超| 海门市| 武川县| 荣成市| 普安县| 香港| 玉林市| 潞西市| 辛集市| 广丰县| 南丰县| 镇远县| 京山县| 临朐县| 赞皇县| 忻州市| 翼城县| 楚雄市| 荆州市| 南安市|