Oracle 10g SQL中q-quote怎么用
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章给大家分享的是有关Oracle 10g SQL中q-quote怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在Oracle中,字符串的字面量如果含有单引号,那
千家信息网最后更新 2026年11月03日Oracle 10g SQL中q-quote怎么用
这篇文章给大家分享的是有关Oracle 10g SQL中q-quote怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
在Oracle中,字符串的字面量如果含有单引号,那么必须转义,而且转义符是单引号',这样加上表示字符串字面量的外层'',那么势必要写很多单引号,不仅可读性降低,而且容易出错。当然,使用chr(39),也可以代替引号,可能比写多个单引号更好,可读性强,但是毕竟这种写法不是很常见。SO,在10g中,Oracle引入了q-quote的用法。
常规字符字面量内单引号的使用:
| dingjun123@ORADB> select ''' str from dual; ERROR: ORA-01756: 引号内的字符串没有正确结束 --要使用转义,两个单引号表示一个单引号 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特性。允许按照指定规则也就是Q或q开头(如果是national character literals,那就是N或n放在Q或q之前),然后'界定符号原始字面量界定符号',使用规则很简单:
1) q-quote界定符可以是除了TAB,空格,回车外的任何单字节或多字节字符。
2) 除了单字节的的开始界定符是[,{,<,(,那么结束界定符必须是],},>,) 其他开始界定符与结束界定符必须一致
如:
| --4个特殊单字节开始界定符是[,{,<,(,结束界定符必须是],},>,) 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 --因为【开始界定付是多字节,所以必须一致,特殊的就4个单字节界定符 dingjun123@ORADB> SELECT q'【a'bc[' FROM dual; ERROR: ORA-01756: 引号内的字符串没有正确结束 dingjun123@ORADB> SELECT q'【a'bc【' FROM dual; Q'【 ---- a'bc --因为]不是4个特殊界定符的开始界定符 dingjun123@ORADB> SELECT q']a'bc[' FROM dual; ERROR: ORA-01756: 引号内的字符串没有正确结束 dingjun123@ORADB> SELECT q']a'bc]' FROM dual; Q']A ---- a'bc --其他非特殊的4个开始界定符的要求开始与结束一致 --a是界定符 dingjun123@ORADB> SELECT q'ab'cda' str FROM dual; STR ---- b'cd --A是界定符,但是结束的是a,不一致 dingjun123@ORADB> SELECT q'Ab'cda' str FROM dual; ERROR: ORA-01756: 引号内的字符串没有正确结束 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 |
一般使用的时候,都是使用4个特殊字符作为界定符,这样前后界定符包含了原生态字符串,可读性更好。
感谢各位的阅读!关于"Oracle 10g SQL中q-quote怎么用"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
引号
字符
字符串
字节
特殊
一致
字面
可读性
转义
内容
更多
符号
篇文章
规则
不错
原始
实用
简洁
两个
也就是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
新华互联网科技
广州大一互联网络科技有限公司
中关村互联网 科技集团
互联网电商科技
麻工互联网科技
北京互联网络科技有限公司
润盈互联网科技
互联网金融监管科技
金融科技和互联网金融
山东吉时兔互联网科技有限公司
新华互联网科技2019
中国的互联网科技企业的崛起
荆州市昕露互联网络科技有限公司
新兴科技互联网创新大赛颁奖典礼
广州富喜互联网络科技
福州德业互联网科技
全球科技与互联网公司市值变化
易租星互联网科技有限公司
银川新华互联网科技学校招聘
恒生科技互联网指数十大成分股
咖啡
什么是科技互联网
互联网通讯科技
融贸通互联网科技
狮子座互联网科技培训
互联网科技公司介绍
新华互联网科技2019
恒生互联网科技业指数调整周期
互联网第三次科技革命特征
35岁以上互联网科技行业