0

我正在尝试选择一个申请者 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%')
4

1 回答 1

0

尝试

where IF (c.use_id_as_emp_no = '0', ccal.applicant_id, cc.contractor_idPK) 
COLLATE latin1_general_ci LIKE '%staff01%'
于 2012-04-25T09:40:09.663 回答