我想使用SQL WHERE子句搜索包含单引号的字符串。例如,我想搜索“Tom's house”,并且SQL子句应该是“location ='Tom's house'”。任何人都可以帮我格式化SQL子句吗?如何使用SQL WHERE子句搜索包含单引号的字符串
回答
双单引号Tom''s house
非常感谢,它的工作原理! – Sirius 2011-05-01 11:29:26
如果您无法完全控制将会代替“汤姆之家”的内容,那么您最好使用TJ的方法。有人可能会放置'\'',然后用强大的SQL语言控制声明的其余部分,这可能会让黑客访问其他数据,具体取决于声明。这就是为什么手动转义不是很好的做法。 – 2011-07-13 14:22:27
如果你正在做的查询从字面上看,你可以双击了'
所以它的Tom''s house
作为SQLMenance说。
更好的通用解决方案,虽然是通过java.sql.PreparedStatement
使用参数化查询,如:
PreparedStatement ps;
ResultSet rs;
// Create the prepared statement
ps = con.prepareStatement("SELECT x FROM table WHERE location = '?'");
// Set the parameter -- we don't have to quote it, the SQL classes do that
ps.setString(1, "Tom's House");
// Do it
rs = ps.executeQuery();
这不仅解决了报价为您解决问题,但更重要的是它可以帮助保护您免受SQL injection攻击你的数据库。 永不包括任何用户提供的数据“原样”通过字符串连接等查询,要么使用参数化查询或使绝对确信您正在预先正确地转义数据。
准备语句API的使用避免了这些问题。
- 1. 如何从包含SQL的字符串中提取WHERE子句?
- 2. 如何搜索包含冒号的SQL中的字符串?
- 3. SQL Where Where子句单引号
- 4. 检索包含单引号的字符串:引号未打印
- 5. 如何使用包含“在SQL”IN“子句中的字符串
- 6. SQL CHAR指数的WHERE子句中搜索字符串
- 7. 在加密字段的where子句中搜索子字符串
- 8. 如何在linqdatasource的where子句中搜索concatinated字符串?
- 9. 搜索SQLite表,如果字符串包含双引号
- 10. SQL(ite)where子句用冒号(:)字符
- 11. 如何检索包含搜索词的子字符串的DBObjects?
- 12. 在包含空搜索的where子句中使用函数
- 13. 如何插入包含单引号字符的字符串?
- 14. 搜索单引号grep字符串?
- 15. 如何轻松使用包含单引号和双引号的Python字符串?
- 16. SQL Server在where子句中包含搜索筛选器列表
- 17. 在字符串中包含单引号
- 18. 字符串包含引号字符( ')
- 19. android SQLite:如何搜索字符串如果字符串包含'符号
- 20. 搜索字符串,其中包含专用字符(!,@,#。/,逗号(,))
- 21. 如何匹配where子句中可能包含连字符的字符串?
- 22. PL/SQL动态Where子句 - 单引号围绕动态字符串?
- 23. 如何从搜索字符串中返回包含撇号的查询结果字符串不包含撇号
- 24. 如何使用preg_match从字符串中搜索,包括符号?
- 25. 在SQL中插入包含单引号的字符串
- 26. FINDSTR在搜索字符串包含减号字符时失败
- 27. 如果搜索字符串包含
- 28. 搜索字符串中的单引号并用其他字符包装
- 29. 如何搜索ArrayList中包含多个单词的字符串?
- 30. 使用sed插入包含单引号的字符串
有人请解释这个家伙如何使用参数化查询 – 2011-05-01 11:25:34
@ T.J .:相信我,如果我知道任何Java或Android的话。 – 2011-05-01 11:27:48