zoukankan      html  css  js  c++  java
  • oracle中查询或插入特殊字符

    如单引号(''或')与符号(&)等

    1.单引号:select '''' from aa01    结果为'

        select '''''' from aa01  结果为''

        select ''''||'xx'||'''' from aa01 结果为'xx'

        如果直接查询select ''' from aa01 会报错

        同样也可以用chr(39)函数将39ASCII码转换为对应的字符,即select chr(39)||'xx'||chr(39) from aa01

    2.与符号:select '&&x=' from aa01 结果为&x=

        如果直接使用select '&x=' from aa01 则会报错

        同样也可以使用chr(38)转换,即select chr(38)||'x=' from aa01

    针对'&'同样网上也提出这种解决方法:
    在SQL*PLUS默认环境里会把'&字符'当成变量来处理. 有些时候我们也需要在SQL>的符号下输入'&字符', 只需要改变SQL*PLUS下一个环境变量define即可. SQL> set define off;是把默认的&绑定变量的功能取消, 可以把'&字符'当成普通字符处理 SQL> set define on;打开&绑定变量的功能, &后面的字符串当变量使用. SQL> show define;查看当前SQL*PLUS的define状态 举例说明: --------------------------------------------------------------- SQL> CREATE TABLE TEST3 ( ID NUMBER (2) PRIMARY KEY, NAME VARCHAR2 (20)); SQL> show define; define "&" (hex 26) SQL> insert into test3 values(1,'sgs&a&n'); Enter value for a: abc Enter value for n: 456 old 1: insert into test3 values(1,'sgs&a&n') new 1: insert into test3 values(1,'sgsabc456') 1 row created. SQL> commit; Commit complete. SQL> set define off; SQL> insert into test3 values(2,'sgs&a&n'); 1 row created. SQL> commit; Commit complete. SQL> select * from test3; ID NAME -- -------------------- 1 sgsabc456 2 sgs&a&n

    但是针对以上网办法也有人提出异议如下:

    SQL> truncate table demo;
    Table truncated.

    SQL> select * from demo;
    no rows selected

    SQL> desc demo;
    Name Null? Type
    ----------------------------------------- -------- ----------------------
    X CHAR(20)
    SQL> insert into demo values ('scott&'||'tiger');
    1 row created.

    SQL> select * from demo;
    X
    --------------------
    scott&tiger
    SQL>

  • 相关阅读:
    P2154 [SDOI2009]虔诚的墓主人 树状数组
    P2564 [SCOI2009]生日礼物 贪心
    P2053 [SCOI2007]修车 费用流
    P1963 [NOI2009]变换序列 倒叙跑匈牙利算法
    P3705 [SDOI2017]新生舞会 分数规划 费用流
    gym/102091
    P2698 [USACO12MAR]花盆Flowerpot 单调队列
    乌龟棋
    旅行家的预算
    组合数问题
  • 原文地址:https://www.cnblogs.com/jice/p/2735674.html
Copyright © 2011-2022 走看看