Oracle 10g SQL中q-quote怎么用
发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,这篇文章给大家分享的是有关Oracle 10g SQL中q-quote怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在Oracle中,字符串的字面量如果含有单引号,那
千家信息网最后更新 2025年11月11日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安全错误
数据库的锁怎样保障安全
网络安全idc服务器
三级网络技术有上机吗
网络安全与道德课后反思
珀太克德互联网科技公司
推荐国际版生存服务器
沭阳自动化网络技术解决方案
如何下载路由器服务器地址
河南服务器虚拟化部署云空间
惠普数据库服务器架构方案
浦东新区加工软件开发
怎样判断uid和数据库一样
mac sql数据库
手机远程服务器关闭
关于网络安全管理办法
服务器屏蔽所有境外
致命倒计时软件开发
软件开发技术协议要求
网络技术支撑主要职责
创建网络需要租服务器吗
一般游戏公司的服务器都放在哪里
阿里云数据库怎么重置
软件开发类的国企
济南触摸软件开发
sql数据库print函数
raise数据库用法
服务器在南方
我的世界斗罗服务器怎么刷东西
成都做软件开发人
数据库七万多行怎么优化数据
通州区国家网络安全园区