惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
WordPress大学
WordPress大学
Hugging Face - Blog
Hugging Face - Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
小众软件
小众软件
人人都是产品经理
人人都是产品经理
罗磊的独立博客
博客园 - 聂微东
雷峰网
雷峰网
量子位
美团技术团队
V
V2EX
The GitHub Blog
The GitHub Blog
大猫的无限游戏
大猫的无限游戏
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
IT之家
IT之家
The Cloudflare Blog
爱范儿
爱范儿
T
Tailwind CSS Blog
博客园 - 三生石上(FineUI控件)
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
宝玉的分享
宝玉的分享
Last Week in AI
Last Week in AI
Jina AI
Jina AI

博客园 - zbjice

mybatis-plus saveBatch方法java.lang.NullPointerException MacOS打开应用后反复提示“XXX将对你的电脑造成伤害。你应该将它移到废纸篓”的解决办法 charles代理证书更新 cron表达式里日期和星期关系 oracle设置与数据源的 JDBC 连接 JDK升级问题记录 加载spring的xsd文件失败,导致发布失败 图片压缩优化 APP中https证书有效性验证引发安全问题(例Fiddler可抓https包) Fullgc引发redis超时异常 maven父子模块deploy 问题 lua post参数获取,参数截断 PhpStorm, XDebug, and DBGp Proxy Dia Diagram Mac OSX Yosemite Fix 闪退 xterm sql优化-隐形转换危害 mybatis 关联映射传递多参数方法 分页栏页码输入框校验 使用a标签或form的submit做下载按钮,然后通过js调用其click事件去下载时经常出现的异常 eclipse、tomcat搭建时出现异常
oracle中查询或插入特殊字符
zbjice · 2012-10-23 · via 博客园 - zbjice

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

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>