SQL语句中的模糊查询注意

0 阅读1分钟

前言

在使用SQL语句模糊查询数据时,经常用到%,但是数据库对于多个%,只会取其中一个,这就导致查询条件有时候使用多个%,但是也能查询出来

image.png

SQL模糊查询注意

可以使用以下方法,在查询条件拼接

public static String escapeSqlLikeSpecialChars(String input) {
    if (org.apache.commons.lang3.StringUtils.isBlank(input)) {
        return input;
    }
    if (input.startsWith("%")) {
        input = "\" + input;
    }
    if (input.endsWith("%")) {
        input = input.substring(0, input.length() - 1) + "\" + input.substring(input.length() - 1);
        ;
    }
    if (input.endsWith("_")) {
        input = input.substring(0, input.length() - 1) + "\" + input.substring(input.length() - 1);
        ;

    }

    return input;
}

也就是加上\\,就可以解决

总结

在使用SQL语句模糊查询数据时,注意使用多个%查询