其他特殊字符<,>等
在此不一一解释。
四、 什么情况需要对特殊字符转义
举个栗子。
select * from table where city=’che’gdu’;
当你输入这样一个sql的时候,数据库会告诉你:错啦错啦~
为什么呢?
因为,单引号表示字符串的开始和结束,你使用三个单引号,数据库不知道什么时候结束(懵逼脸)。
这个时候,你就需要转义啦!!!
同样,对于双引号”,分号;,冒号:,小括号(,中括号[,分隔符|(字符串中),斜杠\,@符号也都需要转义。
因为这些符号在sql语句中有它自身本来的含义,当你仅仅是把它当作一个(没有感情和意义的)字符串符号时,你需要告诉数据库: “嘿,这里的这个字符是我字符串的一部分,请不要像平常一样将其视为特殊字符”。
五、 如何使用转义符
sql转义符是什么
没有理由,记住就行了,sql的转义符是单引号’。
如何使用转义符
在需要转义的特殊符号前加单引号’。
1) 对于字符串中包含单引号‘
所以select * from table where city=’che’gdu’;这个sql改写为:select * from table where city=’che’’gdu’;就可以了啦。
2) 对于字符串中包含百分号%
如:select * from table where city like ‘%%engdu’;
改写为:select * from table where city like ‘%’%engdu’;
3) 对于字符串中包含通配符
如:select * from table where city like ‘%engdu’;
改写为:select * from table where city like ‘%’engdu’;
4) 对于字符串中包含双引号”
注意,双引号转义需要两个单引号’’。
如:select * from table where city=’cheng”du’;
改写为:select * from table where city=’cheng’’”du’;
其他不再一一举例。
如何临时定义转义符
如果你不知道sql转义符是什么,那么可以使用escapse临时定义。如:select * from table where city like ‘%_%’ escape ‘’;
在此处指定了ESCAPE’‘关键字。这意味着\字符将用作转义字符,这将强制实际使用而不是用作通配符。