参数带有引号,引号被反转。
参数定义如下:
String strType = "AA','PT','CT','PU','DT','AC','P";
传入SQL中后实际执行后的信息是:
SELECT
*
FROM
USER
WHERE
UserType IN (
'AA\',\'PT\',\'CT\',\'PU\',\'DT\',\'AC\',\'PM'
)
SQL执行本身不会报错,但是会把参数中的引号转义,数据查询结果直接为空
针对该类型问题的解决办法
修改传入字符串值
String strType = "AA,PT,CT,PU,DT,AC";
使用FIND_IN_SET()方法
SELECT
*
FROM
USER
WHERE
FIND_IN_SET(UserType,StrType)
其中UserType为字段名,StrTypr为传入的变量值