我正在尝试选择申请人_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%'
显示带有applicant_id Staff01的数据。
IF语句是否导致LIKE功能出现故障?请帮我。我在这方面很难过。非常感谢。
编辑:在比较中使用LCASE()解决
WHERE
IF (c.use_id_as_emp_no = '0', LCASE(ccal.applicant_id), cc.contractor_idPK) LIKE LCASE('%staff01%')
答案 0 :(得分:0)
尝试
where IF (c.use_id_as_emp_no = '0', ccal.applicant_id, cc.contractor_idPK)
COLLATE latin1_general_ci LIKE '%staff01%'