zoukankan      html  css  js  c++  java
  • [置顶] oracle存储过程中单引号及字符串拼接处理

    在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'输入值'。
    (把一对两个单引号分开了,一部分在||之前,一部分在||之后)
    (后面四个单引号分开看,中间两个是一对--代表一对单引号之内的一个单引号,外边两个是一对--代表一对单引号)


  • 相关阅读:
    系统编程-进程-fork深度理解、vfork简介
    九鼎S5PV210开发板的SD卡启动、uboot tftp升级内核镜像
    jiffies相关时间比较函数time_after、time_before详解
    Java基础第六章(循环结构二)
    Java基础第五章(循环结构一)
    Java基础第四章(选择结构二)
    Java基础第三章(选择结构一)
    Java基础第二章(变量、数据类型和运算符)
    Java基础第一章
    HTML iframe的使用
  • 原文地址:https://www.cnblogs.com/james1207/p/3310836.html
Copyright © 2011-2022 走看看