[置顶] oracle存储过程中单引号及字符串拼接处理
2013-09-09 20:49
337 查看
在ORACLE中,单引号有两个作用,一是字符串是由单引号引用,二是转义。单引号的使用是就近配对,即就近原则。而在单引号充当转义角色时相对不好理解
1、从第二个单引号开始被视为转义符,如果第二个单引号后面还有单引号(哪怕只有一个)。
select '''' from dual ----output:'
解释:第二个单引号被作为转义符,第三个单引号被转义,可将sql写成这样更好理解:
select ' '' ' from dual ----output:'
2、连接符‘||’导致了新一轮的转义:连接符号‘||’左右的单引号没有任何的关系,除非‘||’是作为字符串的一部分(这在动态SQL中很常见)。
select 'name'||'''' from dual ----output:name'
理解:||后面的作为一个字符串,即前后是',中间又是一个密集型单引号串'',因此第一个为转义功能
select 'name''''' from dual ----output:name''
理解:第一个和最后一个单引号作为字符串引用符,中间四个单引号两两转义 。
在举几个简单例子:
一个单引号,是最正常的情况,比如:'asdfas',这代表一个字符串,显示的内容是 asdfas ;
两个单引号,一般成对出现在一个单引号之内,表示一个单引号之内的单引号,比如
'sdfs''123''dfsdf',这种字符串显示的时候就是 sdfs'123'dfsdf
三个或四个单引号的情况是在一个和两个的情况之上发展出来的,比如'asd'''||输入值||'''',它显示的时候内容就是:
asd'输入值'。
(把一对两个单引号分开了,一部分在||之前,一部分在||之后)
(后面四个单引号分开看,中间两个是一对--代表一对单引号之内的一个单引号,外边两个是一对--代表一对单引号)
1、从第二个单引号开始被视为转义符,如果第二个单引号后面还有单引号(哪怕只有一个)。
select '''' from dual ----output:'
解释:第二个单引号被作为转义符,第三个单引号被转义,可将sql写成这样更好理解:
select ' '' ' from dual ----output:'
2、连接符‘||’导致了新一轮的转义:连接符号‘||’左右的单引号没有任何的关系,除非‘||’是作为字符串的一部分(这在动态SQL中很常见)。
select 'name'||'''' from dual ----output:name'
理解:||后面的作为一个字符串,即前后是',中间又是一个密集型单引号串'',因此第一个为转义功能
select 'name''''' from dual ----output:name''
理解:第一个和最后一个单引号作为字符串引用符,中间四个单引号两两转义 。
在举几个简单例子:
一个单引号,是最正常的情况,比如:'asdfas',这代表一个字符串,显示的内容是 asdfas ;
两个单引号,一般成对出现在一个单引号之内,表示一个单引号之内的单引号,比如
'sdfs''123''dfsdf',这种字符串显示的时候就是 sdfs'123'dfsdf
三个或四个单引号的情况是在一个和两个的情况之上发展出来的,比如'asd'''||输入值||'''',它显示的时候内容就是:
asd'输入值'。
(把一对两个单引号分开了,一部分在||之前,一部分在||之后)
(后面四个单引号分开看,中间两个是一对--代表一对单引号之内的一个单引号,外边两个是一对--代表一对单引号)
相关文章推荐
- oracle存储过程中单引号及字符串拼接处理
- oracle存储过程中单引号及字符串拼接处理
- oracle存储过程中单引号及字符串拼接处理
- 【Oracle】存储过程在字符串单引号'内拼接单引号'
- 存储过程在字符串单引号'内拼接单引号'
- 存储过程之处理多笔拼接字符串数据
- 关于Oracle存储过程中的IN子句传参的问题(不能直接传字符串,需要处理)
- sqlserver 存储过程拼接SQL字符串有数字的处理办法
- Oracle的存储过程中以特定字符分隔的字符串的处理
- mysq 存储过程判断为空null , mysql存储过程 字符串拼接
- sql server 存储过程中拼接sql,转义单引号
- [置顶] Oracle job procedure 存储过程定时任务
- 关于SQLServer存储过程动态拼接,模糊查询的处理
- 【机房收费系统】——存储过程之字符串拼接
- Oracle - 存储过程异常处理事务分析
- oracle拼接字符串处理,wm_contact函数使用
- 关于 字符串中的单引号, 在sql存储过程中的传输总结; 逗号分隔的多个变量提取方法.
- 转://oracle 11gR2 oracle restart 单机使用asm存储 主机名发生更改处理过程
- 用oracle的java存储过程实现BLOB字段的字符串读取
- 在SQL Server 2008 存储过程中拼接字符串时,若存在varchar和数值型则varchar自动转化为数值型