分类: IT技术 |
在我们用到数据库操作时,经常会用到一些特殊字符,比如“'”,“_”,“%”,不同的数据库有不同的处理方法。
字符“'”在数据库中标识了是对字符串的操作,所以如果我们想要将“'”这个特殊的字符插入到数据库中需要一定的处理才行。还好,Mysql,SQLServer,Oracle都是同样的方法来支持这一操作,只需要将“'”替换为“''”就可以安全的插入到数据库了。
字符“_”在模糊查询中表示一个任意字符,字符“%”在模糊查询中表示零个或者多个任意字符,在查询这两个特殊字符时,我们需要对它进行转义。
在Mysql中只需要在“_”,“%”前面加上“\”就好了,如:“\_”,“\%”。
而在SQLServer中还需要标识一个转义符,“'\_' ESCAPE
'\'”这样的操作才可以完成转义的处理,才可以匹配到“_”字符,“%”同理。
在Oracle中操作同SQLServer中,但是需要在转义前设置转义状态为“on”,set
escape on 。
在不同的数据库系统之间操作,面对的差异会有很多,即使是基本的sql类型也会有很大的差异,而且同一个数据库管理系统不同的版本都会有一些差异。因此面对数据库的操作,需要将很大的精力放在不同数据库的兼容上面,真的很糟糕。只有在操作的时候更多的使用相同的特性,尽量少用有差异的部分。