sql语法 数据库的字串出现'时会有问题-线上等 急

比如Select * From Table Where AAA='ab'c'

我的字串是ab'c,然后我的AAA内存的字串也是有ab'c

但一旦出现'就会错误

请问要怎么处理

我用的是MSAccess,谢谢各位!

10个回答

要转义啊,要不字符不闭合了。。一个单引号替换为2个

 Select * From Table Where AAA='ab''c'

字符串里面如果有单引号,查询时应该改为两个单引号,你应该这样查询
select * from table where aaa = 'ab''c'

转义
'ab''c'

单引号‘和双引号"在SQL语言里都是特殊字符,除了上线说的转义之外,也可以通过把两种语言混用来解决,比如:
Select * From Table Where AAA="ab'c"

AAA内存中的ab'c字符想要作为条件的值就要用到转义,用两个'号代表内存中一个',写法为:
Select * From Table Where AAA='ab''c'
这样就可以了。

Select * From Table Where AAA="ab'c"

这样 select * from table where aaa = 'ab''c'

Select * From Table Where AAA='ab''c' 两个'' 代表一个

Select * From Table Where AAA='ab\'c'

如果你使用的是mybatis来对数据库进行查询你可以试一下这个<![CDATA[ at <= #{at} ]]>

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问