polardb这个问题怎么解决?SELECT *
FROM uc_role t1
WHERE
1=1
AND CASE
WHEN ‘测试’ != ” THEN t1.name LIKE ‘%测试%’
ELSE 1=1
END
AND CASE
WHEN ‘I=’ != ” THEN t1.name LIKE ‘%测试%’
ELSE 1=1
END
AND t1.extend_0ne = ‘d84311d5280c466f8c7bc58caa02b288’
AND t1.status = 1
ORDER BY gmt_create DESC;
以下为热心网友提供的参考意见
这个问题是由于在SQL查询中使用了错误的条件判断导致的。在这个查询中,当’测试’不等于空字符串时,应该使用LIKE '%测试%'
进行模糊匹配,而不是LIKE '%测试%'
。同样,当’I=’不等于空字符串时,也应该使用LIKE '%I=%'
进行模糊匹配。以下是修改后的查询:
SELECT *
FROM uc_role t1
WHERE
1=1
AND CASE
WHEN '测试' != '' THEN t1.name LIKE '%测试%'
ELSE 1=1
END
AND CASE
WHEN 'I=' != '' THEN t1.name LIKE '%I=%'
ELSE 1=1
END
AND t1.extend_0ne = 'd84311d5280c466f8c7bc58caa02b288'
AND t1.status = 1
ORDER BY gmt_create DESC;
本文来自投稿,不代表新手站长_郑州云淘科技有限公司立场,如若转载,请注明出处:https://www.cnzhanzhang.com/21374.html