sqlite 深入学习
http://blog.csdn.net/ameyume/article/details/8007149
http://www.veryhuo.com/a/view/9254.html http://database.51cto.com/art/201009/224511.htm
1.sqlikte中的转义符 SELECT * FROM table WHERE number LIKE '%/%%' escape '/' 需要注意的是,特殊字符并没有用反斜杠“”表示转义符。 [java] view plain copy
2.SQL语句中表示单个字符和任意多个字符的通配符 %包含零个或多个字符的任意字符串。 WHERE title LIKE '%computer%' 将查找在书名中任意位置包含单词 "computer" 的所有书名。 _(下划线) 任何单个字符。 WHERE au_fname LIKE '_ean' 将查找以 ean 结尾的所有 4 个字母的名字(Dean、Sean 等)。 [ ] 指定范围 ([a-f]) 或集合 ([abcdef]) 中的任何单个字符。 WHERE au_lname LIKE '[C-P]arsen' 将查找以 arsen 结尾并且以介于 C 与 P 之间的任何单个字符开始的作者姓氏,例如 Carsen、Larsen、Karsen 等。 [^] 不属于指定范围 ([a-f]) 或集合 ([abcdef]) 的任何单个字符。 WHERE au_lname LIKE 'de[^l]%' 将查找以 de 开始并且其后的字母不为 l 的所有作者的姓氏。 -------------------------
SQL语句处理特殊字符的例子http://www.veryhuo.com2009-09-27 Liehuo.Net 投递稿件 我有话说用户输入如果没有任何限制的话,则必须对特殊字符进行变换。如果对单引号不进行变换,则会发生数据库错误,甚至可能导致系统崩溃。不过回避方法却非常简单,只要将单引号[']转换成两个单引号['']就可以了。 例:SELECT * FROM TBL WHERE COL = 'ABC''DEF'; 例:SELECT * FROM TBL WHERE COL LIKE 'ABC%_%' ESCAPE ''; 例:SELECT * FROM TBL WHERE COL LIKE 'ABC%_%_%' ESCAPE ''; ------------------------
SQL语句中特殊字符的处理方法2010-09-07 10:19 兴国安邦 博客园 我要评论(0)字号: T| T在sql语句中有一些像 ' [ ] 的特殊字符,那么这些字符应该如何处理呢?下面就将为您介绍SQL语句中特殊字符的处理方法,供您参考。 AD:2013云计算架构师峰会超低价抢票中
在数据库的使用时,经常会在sql语句中遇到一些特殊字符,那么这些字符应该如何处理呢?下面就将为您介绍SQL语句中特殊字符的处理方法,供您参考。 在sql语句中,有些特殊字符,是sql保留的。比如 ' [ ] 等。我们可以先看看它们的用法。 当需要查询某数据时,加入条件语句,或着当你需要insert记录时,我们用 ' 来将字符类型的数据引起来。比如: 当表的名字或列的名字中,含有空格等一些特殊字符时,我们需要用[] 将表名引起来,告诉语法分析器,[]号内的才是一个完整的名称。比如 Select * from [Order Details] 如果,字符数据中,含有 ' 改怎么办呢?其实,好多人在这里并没有处理字符川中 ' 符号,才造成sql 注射危险。就那上面的那个例子。在Sql语句拼接的时代,比如 string sql = "select * from Customers where CustomerID = '" + temp + "'"; 如果,我给temp赋值为 Tom' or 1=1 --- 如果表或列的名称中含有 [ 或 ] 字符呢?比如Select * from [Order] Details],那中间 ] 符号岂不是先和第一个[ 配了。后面的就是非法的了。怎么办呢? 简单,使用 ]] 代替 ] 。对于[,则无须处理。那就该为 Select * from [Order]] Details]。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |