我想使用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 Where Where子句單引號
- 3. 檢索包含單引號的字符串:引號未打印
- 4. SQL CHAR指數的WHERE子句中搜索字符串
- 5. 如何使用包含「在SQL」IN「子句中的字符串
- 6. SQL(ite)where子句用冒號(:)字符
- 7. 在包含空搜索的where子句中使用函數
- 8. 如何檢索包含搜索詞的子字符串的DBObjects?
- 9. 搜索單引號grep字符串?
- 10. SQL Server在where子句中包含搜索篩選器列表
- 11. 字符串包含引號字符( ')
- 12. 在SQL中使用變量Where子句包含逗號
- 13. 如何從搜索字符串中返回包含撇號的查詢結果字符串不包含撇號
- 14. FINDSTR在搜索字符串包含減號字符時失敗
- 15. 搜索字符串中的單引號並用其他字符包裝
- 16. 使用sed插入包含單引號的字符串
- 17. 如何搜索ArrayList中包含多個單詞的字符串?
- 18. 如果句子包含字符串
- 19. 如果單引號字符串包含轉義的單引號,如何替換字符串?
- 20. BASH - 雙引號內SQL單引號Where子句
- 21. MySQL搜索其中字符串包含
- 22. 檢索數組中包含的子字符串的索引
- 23. LINQ的 - 搜索表記錄中包含搜索字符串
- 24. hw搜索索引字符串列表中的子字符串?
- 25. MySQL - 搜索字符串包含「_」與LIKE
- 26. 當字段包含'(單引號)字符時搜索核心數據
- 27. 在包含變音符號的字段上的sql搜索
- 28. 如何使用componentsSeparatedByString忽略包含子字符串的單詞:?
- 29. 在字符串中包含引號?
- 30. LinQ在where子句中包含使用&&
有人請解釋這個傢伙如何使用參數化查詢 – 2011-05-01 11:25:34
@ T.J .:相信我,如果我知道任何Java或Android的話。 – 2011-05-01 11:27:48