Oracle 10g SQL中q-quote怎么用
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,这篇文章给大家分享的是有关Oracle 10g SQL中q-quote怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在Oracle中,字符串的字面量如果含有单引号,那
千家信息网最后更新 2025年02月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安全错误
数据库的锁怎样保障安全
专用服务器和电脑服务器的区别
站群服务器配置
常规的网络安全检查手段
office数据库有什么用
国际服体验服服务器进不去
12306数据库管理案例
数据库插入时有的是空值怎么插入
数据库启用命令
怎么查看数据库pandas
e5服务器内存安装顺序
魔兽tbc服务器没人
安顺导航软件开发
延庆区品牌软件开发供应
数据库系统的三级模型是指
济南旭航网络技术
redis数据库使用教程
阿里云服务器能设置几个实例
服务器硬盘黄灯闪
常用输出牛数据库
服务器安装esix6.7
宁波航天安全接入服务器地址
贵州大数据时间频率同步服务器
mdb数据库怎样挂接更新
数据库并发的英文
sql是一种通用数据库查询语言
手机公积金数据库信息为空
定义内部数据库like
好玩的小游戏服务器
网络安全九要九不要内容
财务王数据库