Oracle中要查询或新增的字符串中含有单引号的处理

本文介绍在Oracle数据库中处理含有单引号的字符串的方法,包括使用双单引号和Q''引用符进行转义的技巧。

Oracle中要查询或新增的字符串中含有单引号的处理


oracle字符串使用单引号引起来的,所以如果要插入的或者是查询的数据中含有单引号就需要转义才可以
正常工作,下面含有写出的是两种转义方式:

  1. 最简单的一种方式就是在需要转义的单引号前面再加上一个单引号。
INSERT INTO TEST_TABLE(MONTHFUND_ID, SUBMIT_PERSON) VALUES ('000101', 'to_date(submit_date, ''yyyy-MM'')');

在上面的一条sql语句中想要添加到字段SUBMIT_PERSON中的值是to_date(submit_date, ‘yyyy-MM’),该值就是含有单引号的,可以在单引号的地方再加上一个单引号即可。

  1. 第二种方式是在含有单引号的字符串前面以q或Q开头,后面是字符串的内容(该字符串可以包含单引号),不过需要遵守一定的格式,也就是该字符串是需要包含在[、<、(、{之间,前面四中是左侧的,右侧的与其对应即可。比如上面使用两个单引号新增数据的例子按照第二种方式来写就是:
INSERT INTO TEST_TABLE(MONTHFUND_ID, SUBMIT_PERSON) VALUES ('000102', Q'[to_date(submit_date, 'yyyy-MM')]');
INSERT INTO TEST_TABLE(MONTHFUND_ID, SUBMIT_PERSON) VALUES ('000103', Q'<to_date(submit_date, 'yyyy-MM')>');
INSERT INTO TEST_TABLE(MONTHFUND_ID, SUBMIT_PERSON) VALUES ('000104', Q'(to_date(submit_date, 'yyyy-MM'))');
INSERT INTO TEST_TABLE(MONTHFUND_ID, SUBMIT_PERSON) VALUES ('000105', Q'{to_date(submit_date, 'yyyy-MM')}');

对于查询也是使用同样的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值