oracle 特殊字符表示,Oracle如何插入在特殊字符: amp; 和 #39; (各种解决方案)
今天在导入一批数据到Oracle时,碰到了一个问题:Toad提示要给一个自己定义变量AMP赋值,一開始我非常纳闷。数据是一系列的Insert语句,怎么会有自己定义变量呢?后来搜索了一下keywordAMP发现。原来是由于在插入数据中有一个字段的内容例如以下:
http://mobile.three.com.hk/3DX?
uid=0676&sid=rt_060908
Oracle把这里的URL的參数连接符&当成是一个自己定义变量了。所以要求我给变量AMP赋值。
怎么办呢?方法有三:
·方法一:在要插入的SQL语句前加上Set define off;与原SQL语句一起批量运行
我们在SQL*PLUS下运行 SQL> show all命令时,能够发现一个參数:define "&" (hex 26)。例如以下图所看到的
......
concat "." (hex 2e)
copycommit 0
copytypecheck ON
define "&" (hex 26) describe DEPTH 1 LINENUM OFF INDENT OFF
echo OFF
......
这个是Oracle里面用来识别自己定义变量的设置,如今我们在SQL*PLUS下将其关闭:
SQL> Set define OFF;
然后再次运行导入脚本,OK!问题搞定。
注意:假设是在TOAD中运行,建议在每个要导入的脚本第一行加上前面那句关闭define的话,否则当你导入第二个含有特殊字符的脚本的时候。又会出错。
假设是在SQL*PLUS中运行,则仅仅须要设置一次define OFF,后面就能够连续导入了。直到你又一次设置define ON为止。
插入一条语句:
SQL> insert into AA (O,resvalue) values ('AA', 'S'||chr(38)||'P');
·方法二:在SQL语句中将'&'替换成chr(38),由于chr(38)是‘&’的ASCII码
SQL> Select 'Tom' || chr(38) || 'Jerry' from dual;
·方法三:分拆原来的字符串
SQL> Select 'Tom' || '&' || 'Jerry' from dual;
我们能够看到,方法一最为简便,并且效率也最高。方法二由于有一个调用函数的过程,所以性能稍差。
方法三须要两次连接字符串。效率最差。
那么假设字段的内容中包括了单引號要怎么插入呢?比如:It's fine。方法相同有三
·方法一:使用转义字符
SQL > Select 'test' || '''' from dual;
注意:这里的''''四个单引號是什么意思呢?首先第一个和最后一个都是Oracle中的字符串连接符,这个没有异议。那么第二个'和第三'又表示什么意思呢?第二个'是一个转义字符
第三个'才是我们真正的内容
·方法二:相同是使用转义字符,仅仅只是方式不同而已
SQL > Select 'test ''' from dual;
注意:这里的第二个。第三个'就是我们上面方法一中提到的转义符和真正的内容
·方法三:在SQL中将'替换成chr(39),由于chr(39)是'的ASCII码
SQL > Select 'It' || chr(39) || 'fine' from dual;
oracle 特殊字符表示,Oracle如何插入在特殊字符: amp; 和 #39; (各种解决方案)相关推荐
- oracle insert汉字出错,Oracle数据库之Oracle批量插入数据SQL语句太长出错:无效的主机/绑定变量名...
本文主要向大家介绍了Oracle数据库之Oracle批量插入数据SQL语句太长出错:无效的主机/绑定变量名,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. Oracle数据库,用 ...
- oracle 插入一个语句,oracle如何通过1条语句插入多个值 oracle通过1条语句插入多个值方法...
本篇文章小编给大家分享一下oracle通过1条语句插入多个值方法,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 在实践过程中遇到一个问题, 我想往数据库插入多条数据时,使用 ...
- oracle中如何加字母,Oracle数据库之oracle数据库表插入数据的时候如何产生一个字母+数字...
本文主要向大家介绍了Oracle数据库之oracle数据库表插入数据的时候如何产生一个字母+数字,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. Oracle 语句中" ...
- oracle 函数插入操作,Oracle函数内部运用insert插入
Oracle函数内部使用insert插入 create or replace function GET_PRODUCT_ID_BY_NAME(productName varchar2) return ...
- oracle exp 无效dblink,【案例】Oracle dblink 数据库连接dblink insert插入数据时异常分析...
天萃荷净 开发DBA反映在测试数据表插入数据,Oracle dblink两库连接插入同步数据时数据量异常 一.诡异Oracle dblink起源 今天开发拿过来一条sql,说有诡异现象,sql如下 I ...
- 解决mysql特殊字符或者Emoji表情插入报错问题
解决mysql特殊字符或者Emoji表情插入报错问题 原因: MySQL的utf8编码最多3个字节,Emoji表情或者某些特殊字符是4个字节,所以数据插入不了,需要修改编码. 在MySQL 的&quo ...
- Oracle数据库:实现批量插入的sql语句
目录 问题现象: 问题分析: 注意:这里一定要注意分号(;)的使用: 否则容易出现报错,如: 解决方法: 问题现象: 今天想使用Oracle数据库进行批量插入的操作,发现和想象中的不太一样,报错如下: ...
- oracle数据库dcl,Oracle的DML、DDL、DCL详解
DML 全称Data Manipulation Language,即数据操作语言:insert update delete select DDL 全称Data Definition Language, ...
- Oracle: 三、Oracle的隐藏事务与视图的创建
内容简介 1,Oracle的隐藏事务.2,视图(View)的创建. 技术与环境 操作系统: windows 语言类别: SQL之PL/SQL thankyou: sunshine, 谢谢你的默默付出 ...
- oracle union 类型转换,Oracle 中 union 和union all 的简单使用说明
1.刚刚工作不久,经常接触oracle,但是对oracle很多东西都不是很熟.今天我们来了解一下union和union all的简单使用说明.Union(union all): 指令的目的是将两个 S ...
最新文章
- C#中导出Excel报表的方法
- [转]数据可视化:基本图表
- Stata回归结果输出
- 今晚课题:2019-3-20
- sql中的遇到的有问题的
- 在数组中查找第k个最大元素_查找数组中每个元素的最近最大邻居
- django的单例模式和url分发
- dell设置从ssd启动_整个活儿:无损迁移系统到SSD过程记录及提升对比
- Java实现求二叉树的路径和
- SQL语句(九)使用特殊关系运算符查询
- lisp类似常青藤菜单_在autocad里面,我编写了很多lisp命令,我想新增一个菜单工具栏(如:文件(F),编辑(E),视图(V)......),然...
- SQL server2008 安装教程
- 一个无限批量下载百度美女图片的demo
- 卸载Proteus7进展缓慢、卡顿
- 海豚蓝牙ASIO驱动程序使用说明
- Windows10专业版重装系统教程
- 鲲志说:向我跌宕起伏,喜忧参半的2022致敬!
- 报错: com.alibaba.druid.pool.DruidDataSource : abandon connection, owner thread
- iOS开发者账号的区别
- Excel 2010 VBA 入门 037 获取最后一行数据的行数