sql&db

sql带有反斜杠的sql查询

字号+ 作者:风潇潇 来源:原创 2018-03-12 10:10 我要评论( )

今天同事的咨询了一个问题,就是带反斜杠的sql查不出数据,很奇怪了。特别去弄了一下这个


数据库中的acount = sss\aaa
下面是三条Sql

A:select * from tm_user u where u.account = 'sss\aaa';

B:select * from tm_user u where u.account = 'sss\\aaa';

C:select * from tm_user u where u.account =  'sss\\\\aaa';

D:select * from tm_user u where u.account =  '%sss\\\\aaa%';



结果

A:查不到数据
sql中反斜杠是转义符,所以是匹配sssaaa的,如果有这样的数据,那会查出

B:可以查到sss\aaa 这种数据
  经 \  转义之后,是获取 等于 sss\aaa 的数据,所以是可以查到的

C:查不到数据
经 \  转义之后,是获取 等于 sss\\aaa 的数据,所以是可以查到的

D:可以查到这条数据
这个是like查询,%sss\\\\aaa% 这个数据经过两次字符串的处理,所以会最终只剩 'sss\aaa';所以可以查到


转载请注明出处。

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Mysql自定义函数,从 j 加到 n

    Mysql自定义函数,从 j 加到 n

    2018-05-11 11:26

  • MYSQL中的explain使用的type取值

    MYSQL中的explain使用的type取值

    2018-05-04 14:22

  • MYSQL对数据库字段的更改

    MYSQL对数据库字段的更改

    2017-10-27 09:56

  • Oracle的sql执行计划

    Oracle的sql执行计划

    2017-01-13 19:25

网友点评
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)