Oracle - 特殊字符问题
Oracle更新表字段或者查询表字段时内容中含有特殊字符&的解决方法
现象


解决方式
1. 字符串拼接
UPDATE T_MENU_INFO
SET menu_code='/ABeptjk/gakfzx/abczscsppz', menu_name='平台监控-客服中心-操作手册'||'&'||'视频配置'
WHERE menu_id='';
2. set define off;
-- set define off; 在(PL/SQL的)SQL窗口中执行是无效的, 需要在(PL/SQL的)命令窗口中执行
SQL> set define off;
SQL> select * from T_MENU_INFO t where t.menu_name like '%平台监控-客服中心-操作手册&视频配置%';
3. chr(38)
-- 在SQL语句中将'&'替换成chr(38),因为chr(38)是'&'的ASCII码
SQL> Select 'Tom' || chr(38) || 'Jerry' from dual;
( 转 ) oracle 特殊符号
oracle通配符,运算符的使用
用于where比较条件的有:
等于:=、<、<=、>、>=、<>
包含:in、not in exists、not exists
范围:between...and、not between....and
匹配测试:like、not like
Null测试:is null、is not null
布尔链接:and、or、not
通配符:
在where子句中,通配符可与like条件一起使用。在Oracle中:
%(百分号): 用来表示任意数量的字符,或者可能根本没有字符。
_(下划线): 表示确切的未知字符。
?(问号): 用来表示确切的未知字符。
#(井号): 用来表示确切的阿拉伯数字,0到9。
[a-d](方括号):用来表示字符范围,在这里是从a到d。
单引号('):在Oracle中,应该只使用单引号将文本和字符和日期括起来,不能使用引号(包括单双引号)将数字括起来。
双引号("):在Oracle中,单双引号含义不同。双引号被用来将包含特定字符或者空格的列别名括起来。双引号还被用来将文本放入日期格式。
撇号('):在Oracle中,撇号也可以写成彼此相邻的两个单引号。为了在供应商名字中间查找所有带撇号的供应商名字,可以这样编写代码:
select * from l_suppliers where supplier_name like '%''%'
&符号:在Oracle中,&符号常用来指出一个变量。例如,&fox是一个变量,稍微有点不同的一种&& fox。每当&fox出现在Oracle脚本中时,都会要求您为它提供一个值。而使用&&fox,您只需要在& &fox第一次出现时为它提供变量值。如果想将&符号作为普通的符号使用,则应该关闭这个特性。要想关闭这个特性,可以运行以下的命令: set define off ,这是一个SQLplus命令,不是一个SQL命令。SQLplus设置了SQL在Oracle中运行的环境。
双竖线(||):Oracle使用双竖线表示字符串连接函数。
星号(*):select *意味着选择所有的列,count(*)意味着计算所有的行,表示通配符时,表示0个或任意多个字符。
正斜杠(/):在Oracle中,用来终止SQL语句。更准确的说,是表示了“运行现在位于缓冲区的SQL代码”。正斜杠也用作分隔项。
多行注释:/*......*/。
不等于:有多种表达方式:!=、^=、<>、not xxx=yyy、not(xxx=yyy)
Oracle - 特殊字符问题的更多相关文章
- Oracle特殊字符转义:&和'
Oracle特殊字符转义:&和' 我们在SQL*PLUS下执行 SQL show all命令时,可以发现一个参数:define & (hex 26),如下所示 concat . ...
- Oracle 特殊字符模糊查询的方法
最近在写DAO层的时候,遇到一个问题,就是使用like进行模糊查询时,输入下划线,无法精确查到数据,而是返回所有的数据. 这让我很好奇,百度之后才发现,原来是因为有些特殊字符需要进行转义才可以进行查询 ...
- oracle特殊字符的ascii值
- 【OCP|OCM】Oracle培训考证系列
[OCP|OCM]Oracle培训考证系列 我的个人信息 网名:小麦苗 QQ:646634621 QQ群:618766405 我的博客:http://blog.itpub.net/26736162 ...
- 【Oracle】Oracle中使用转义字符
1.Oracle 特殊字符 转义 关键词:oracle 转义 环境:oracle9i plsql 在plsql ...
- Oracle 转义字符
id sfds_V_SF ASD_V_DSAF SD_V_DSAD 下划线是Oracle特殊字符,需要转移,如下 select * from systab t where t.id like ...
- 【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲
[OCP.OCM.高可用等]小麦苗课堂网络班招生简章(从入门到专家)--课程大纲 小麦苗信息 我的个人信息 网名:小麦苗 QQ:646634621 QQ群:618766405 我的博客:http:// ...
- Oracle中使用escape关键字实现like匹配特殊字符,以及&字符的转义
转:http://blog.chinaunix.net/uid-26896647-id-3433968.html 问题描述:如果在一个表中的一个字段上存在'&', '_', '%'这样的特 ...
- Oracle datafile特殊字符处理
1.发现数据库的数据文件有特殊字符: 2.尝试在sqlplus下用将tablespace offline后修改 SQL> alter tablespace WST_DATA rename dat ...
随机推荐
- MarkdownPad 2 用 LaTeX 编写公式(17)
方法一:(可离线显示) 1.解压「jaxedit-master.zip」,解压后找到「jaxedit-master」文件夹下「MathJax.js」文件的路径,这个文件在该文件下的路径是「jaxedi ...
- js实现放烟花效果——点击处会从下向上升起烟花
一个box中,点击其中的任意位置,会有烟花从正下方升起到点击处,并燃放出一圈圆形的烟花.代码如下: 首先是布局以及样式: <style> .box{ width: 1100px; heig ...
- PAT甲级 树 相关题_C++题解
树 目录 <算法笔记>重点摘要 1004 Counting Leaves (30) 1053 Path of Equal Weight (30) 1079 Total Sales of S ...
- 数据类型 _python
字符串 str # a ="asd bfg" # print(a.capitalize()) #首字母大写 # print(a.title()) #每个单词首字母大写 # prin ...
- GBDT笔记
GBDT笔记 GBDT是Boosting算法的一种,谈起提升算法我们熟悉的是Adaboost,它和AdaBoost算法不同: 区别如下: AdaBoost算法是利用前一轮的弱学习器的误差来更新样本权重 ...
- 一文搞懂嵌入式uboot、kernel、文件系统的关系
总览: 在linux系统软件架构可以分为4个层次(从低到高分别为): 1.引导加载程序 引导加载程序(Bootloader)是固化在硬件Flash中的一段引导代码,用于完成硬件的一 ...
- (八)SpringBoot之freeMarker基本使用
一.案例 1.1 pom.xml <dependencies> <!-- 除去logback支持 --> <dependency> <groupId>o ...
- HTTP协议探究(六):H2帧详解和HTTP优化
一 复习与目标 1 复习 HTTP1.1存在的问题 HTTP2.0要兼容HTTP1.1 HTTP2.0的重要概念 分帧层 二进制:流 消息 帧 流的状态.优先级和并发 流量控制 服务器推送 首部压缩 ...
- .Net Core Swagger:Actions require an explicit HttpMethod binding for Swagger 2.0
添加完Swagger包引用后运行报错:Actions require an explicit HttpMethod binding for Swagger 2.0 第一时间想到了父类控制器 没有添加 ...
- 实现Bootstrap表格拖拽
实现Bootstrap表格拖拽: 需要引入jquery.min.js.bootstrap相关文件,以及jquery.dragsort-0.5.2.js 代码如下: <html> <h ...