如何在SQL Where子句中转义特殊字符?

时间:2016-03-14 10:43:40

标签: sql jdbc

如何在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());

2 个答案:

答案 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 /”

,则此查询将完美运行
相关问题