在默认情况下,ORACLE允许用户在表字段里使用&字符和其他一些特殊字符。

SQL> select * from v$version;

BANNER

----------------------------------------------------------------------------------------------------

Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit

PL/SQL Release 10.2.0.3.0 - Production

CORE10.2.0.3.0Production

TNS for IBM/AIX RISC System/6000: Version 10.2.0.3.0 - Production

NLSRTL Version 10.2.0.3.0 – Production

SQL> create table t (name varchar(20));

Table created.

SQL> insert into t values('&');

1 row created.

SQL> insert into t values('&!@#$%^*()_+');

1 row created.

SQL> commit;

Commit complete.

SQL> select * from t;

NAME

--------------------

&

&!@#$%^*()_+

不过由于&可以被解释为替换字符(Substitution Character),所以有一定的特殊性。

记得前几天一同事在生产数据库上期望在字段中插入&字符,情况类似如下:

SQL> insert into t values('&1');

结果ORACLE将&1解释为了替换变量(Substitution Variables),要求输入1变量的value。

Enter value for 1:

同事问我怎么办?我第一个反应就是:再输入个&1。

SQL> insert into t values('&1');

Enter value for 1: &1

old1: insert into t values('&1')

new1: insert into t values('&1')

1 row created.

SQL>commit;

Commit complete.

SQL> select * from t;

NAME

--------------------

&

&!@#$%^*()_+

&1

果然,&1被正确插入到表中了。

除了我上述说的比较讨巧的方法,SQLPLUS下处理&字符的方法还有如下几个:

(1)关闭对于替换字符的定义

SQL>set define off

SQL> insert into t values('&2');

1 row created.

SQL>commit;

Commit complete.

(2)将替换字符的定义设置为其他不用的字符

SQL> set define %

SQL>insert into t values('&3');

1 row created.

SQL>commit;

Commit complete.

(3)设定字符转义

SQL>set escape on

SQL>show escape

escape "\" (hex 5c)

SQL>insert into t values('\&4');

1 row created.

SQL> commit;

Commit complete.

SQL>select * from t;

NAME

--------------------

&

&!@#$%^*()_+

&1

&2

&3

&4

6 rows selected.

insert执行时oracle如何处理,ORACLE中Insert时字符处理相关推荐

  1. 如何处理html中的换行字符“↵”

    如何处理html中的换行字符#"↵" 需求背景 通过ajax请求回字段值,该字符是String类型,且包含换行符↵ ,将获取到的字符串内容按照原样格式进行换行展示出来. 解决思路 ...

  2. oracle insert into values select from,ORACLE语法中的INSERT INTO。。。SELECT。。。 收藏

    ORACLE语法中的INSERT INTO...SELECT... 收藏 今天写INSERT语句,想直接把一表里的数据取出直接插进另外一表.结果语法忘记了.找了半天.真是白痴啊自己,先把找到的语法记录 ...

  3. oracle数据库 append,oracle中insert,copy,insert append执行对比

    oracle中insert,copy,insert append执行对比 还是由于迁移数据库,测试了insert,copy,insert append的执行速度. 环境:oracle9i向oracle ...

  4. 添加的oracle语句,Oracle中Insert语句的总结

    在oracle中,insert语句的使用: 1.insert into 表1(列名1,列名2,--) values(值1,值2,--) 2.insert into 表1(列名1,列名2,--) sel ...

  5. oracle的insert写法,Oracle中Insert语句的总结

    在Oracle中,insert语句的使用: 1.insert into 表1(列名1,列名2,--) values(值1,值2,--) 2.insert into 表1(列名1,列名2,--) sel ...

  6. oracle中的select into,Oracle中insert into select和select into的用法

    Oracle中insert into select和select into的用法 两张表进行数据的拷贝,最常用的拷贝语句是: insert into select 和select into from ...

  7. oracle中insert into 用法

    在oracle中,insert语句的使用: 1.insert into 表1(列名1,列名2,--) values(值1,值2,--) 2.insert into 表1(列名1,列名2,--) sel ...

  8. oracle数据库insert into,oracle中insert into用法 oracle中insert如何带条件添加数据?

    oracle insert into 脚本怎么写 INSE INTO BOOK(bookid,name,price) VALUES('100123','oracle ',54); 或者 INSE IN ...

  9. Oracle 批量插入(insert all into)

    在mysql中,批量插入可以这么写: insert into my_table(field_1,field_2) values (value_1,value_2), (value_1,value_2) ...

最新文章

  1. Nature综述带你读懂微生物在氮循环中的作用
  2. 查询进程并杀死该进程
  3. word2vec如何得到词向量
  4. 三极管工作原理_三极管的基本工作原理,这个讲的很全
  5. C#打开php链接传参然后接收返回值
  6. 小学学校计算机室文化建设方案,计算机室文化建设方案
  7. Intel SGX技术详细解释(非常棒)
  8. Fedora Core下声卡驱动全功略(转)
  9. 台湾地区HITCON队长发威夺冠,XCTF联赛西安站国际赛顺利落幕
  10. 2021瑞安高考成绩查询,2021年瑞安高考状元名单公布,瑞安文理科状元是谁多少分...
  11. 餐饮管理系统哪个好用?
  12. Entity and Evidence Guided Relation Extraction for DocRED
  13. AirDisk存宝Q2 网盘转接器 移动硬盘伴侣NAS私有云
  14. Gstore官网学习一:知识图谱与gStore介绍
  15. android 高德地图SDK报 KEY鉴权失败
  16. 为什么ps因为计算机限制,photoshop为什么经常崩溃 ps防止崩溃解决办法
  17. 【分析】CPU hotplug时进程上下文切换流程分析
  18. Python 2.7和NLTK安装教程
  19. static变量可以被修改吗
  20. 专业工具软件课程说明与资料下载

热门文章

  1. 【PHP 每日函数】第 03 周期
  2. jQuery 之父:每天写代码
  3. JDBC的学习(三)——以查询新闻系统为例
  4. Mysql大表的优化
  5. unity如何停止不用字符串方式开启协程的方法
  6. 解决Inno Setup制作安装包无法创建桌面快捷方式的问题
  7. Omi应用md2site发布-markdown转网站利器
  8. MariaDB数据库介绍三、MHA(Master HA)实现主节点故障转移
  9. sql--找含有制定字符列的表
  10. 程序员面试题100题第17题——字符串转化为整数