如何在SQL Where子句中转义特殊字符?特别是SLASH(/)。我可以使用“LIKE”,但我需要SQL匹配确切的URL,因为"/path/to/file/"
返回两行:
数据库中的网址:
"/path/to/file/"
"/path/to/file/*/"
StringBuilder sb = new StringBuilder();
sb.append("SELECT * FROM MY_TABLE");
sb.append("WHERE URL LIKE '%" + url + "%'");
return getNamedParameterJdbcTemplate().query(sb.toString(), new MyTableMapper());
答案 0 :(得分:0)
您的问题不是斜线,如果您只想返回完全匹配,请不要使用LIKE
,请使用=
-
StringBuilder sb = new StringBuilder();
sb.append("SELECT * FROM MY_TABLE");
sb.append("WHERE URL = '" + url + "'");
答案 1 :(得分:0)
在SQL SLASH中不需要跳过。您可以在查询中使用斜杠而不会出现问题。
int status = system("timeout 60 whatever-command-you-want-to-run");
if(status != 0) {
// Uh, oh! Either something went wrong, or the command time out after 60 seconds
}
如果url变量类似于“/ path / to / file /”
,则此查询将完美运行