oracle去除最外侧单引号,Oracle 对单引号的处理规则

今天一同事需要添加一条数据到Oracle中,这条数据包含一个字段的找为sp'id,试了一下发现有规律,但是没搞清楚是什么规律,于是回来尝试了一下,做了以下实验.

'a'

''s''s''

'i am'' a db'd''''s'

加以上3条数据.

先是尝试

insert into users(userid) values(''' || a || '''); 失败

然后尝试

insert into users(userid) values('''a'''); 成功

于是以为'''代表'字符串.

然后用'''代表'字符串的思想加第二个.

insert into users(userid) values(''''''s''''''s''''''); 失败

接着在网上查了一下,发现一般在俩个字符中间加',比如a'a,是用''来表示'.又来试:

insert into users(userid) values(''''''s''''s''''''); 还是失败

最后尝试把''当作'来做实验.

insert into users(userid) values(''''s''''s''''); 还是失败(俩边是4个')

insert into users(userid) values('''''s''''s'''''); 却成功了.(俩边是5个')

insert into users(userid) values(''''''s''''s''''''); 失败(俩边是6个)

insert into users(userid) values('''''''s''''s'''''''); 成功(俩边是7个)结果为'''s''s'''

于是终于发现规律,规律如下:

2个'代表1个',最外面3个'代表1个'的原因是本身加字符串到数据库首先就需要''俩个来包含住里面的字符串,例如a,入库需要这样'a'

所以,要加'a'这样的字符串,首先作为添加字符串入库,就需要2个'包含里面的字符串,然后再在2个'中间加'a'字符串,于是2个'代表1个',就有这样的结果'''a'''.

最终尝试'i am'' a db'd''''s'这个超难的一次性成功

insert into users(userid) values('''i am'''' a db''d''''''''s'''); 成功.

洗了睡.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值