我正在尝试选择一个申请者 ID 等于“Staff01”的数据,并且我正在使用这个条件:
WHERE
IF (c.use_id_as_emp_no = '0', ccal.applicant_id, cc.contractor_idPK) LIKE '%staff01%'
发生的情况是,当我执行查询时,没有结果。但是,如果我删除 LIKE 语句中字符串的第一个字母(即 s),则会显示结果。
另一件事是,当我删除上述条件的 IF 语句时,它看起来像这样:
WHERE
ccal.applicant_id LIKE '%staff01%'
显示了带有申请者 ID Staff01 的数据。
是 IF 语句导致 LIKE 功能发生故障吗?请帮我。我在这方面很难过。非常感谢。
编辑:在比较中使用 LCASE() 解决
WHERE
IF (c.use_id_as_emp_no = '0', LCASE(ccal.applicant_id), cc.contractor_idPK) LIKE LCASE('%staff01%')