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''
    理解:第一个和最后一个单引号作为字符串引用符,中间四个单引号两两转义  

    例子:

    select 'insert into wt_shipmentproduct (WT_SHIPMENTPRODUCT_ID, AD_CLIENT_ID, AD_ORG_ID, ISACTIVE, CREATED, CREATEDBY, UPDATED, UPDATEDBY, M_PRODUCT_ID, WT_OWMS_SHIPMENT_ID, WT_OFC_ID, QTY, CONFIRMQTY, NAME)' ||
    'values (wt_shipmentproduct_seq.nextval, 11, 50000, ''Y'', sysdate, 1000180, sysdate, 1002382, (select M_PRODUCT_ID from M_PRODUCT p where p.sku = ''' ||
    m.sku ||
    '''), (select WT_OWMS_SHIPMENT_id from WT_OWMS_SHIPMENT s where s.documentno = ''' ||
    m.documentno ||
    '''),(select wt_ofc_id from WT_OWMS_SHIPMENT where documentno=''' ||
    m.documentno || '''), ' || m.qtyproduct || ', 0, ''' || m.name ||
    ''');'

    ,
    m.qtyproduct
    from adempiere.wv_owms_arrivalnoticeproduct m
    where m.documentno in ('1000768')

  • 相关阅读:
    Linux下的”锁“事儿
    拿得起,放得下,想得开
    关于TCP协议握手的那些事儿

    C++中的RTTI机制解析
    C/C++中产生随机数
    数据库-事务和锁
    JS 数组Array常用方法
    C# 压缩 SharpZipLib
    正则表达式学习3-负向零宽断言
  • 原文地址:https://www.cnblogs.com/working/p/3916651.html
Copyright © 2011-2022 走看看