「Staff01」に等しいapplicant_idを持つデータを選択しようとしていますが、次の条件を使用しています。
WHERE
IF (c.use_id_as_emp_no = '0', ccal.applicant_id, cc.contractor_idPK) LIKE '%staff01%'
クエリを実行しても結果が得られないということです。しかし、LIKEステートメント(s)の文字列の最初の文字を削除すると、結果が表示されます。
もう1つは、上記の条件でIFステートメントを削除すると、次のようになります。
WHERE
ccal.applicant_id LIKE '%staff01%'
apply_idStaff01のデータが表示されます。
LIKE関数を誤動作させるのはIFステートメントですか?私を助けてください。私はこれに苦労しています。どうもありがとう。
編集:比較でLCASE()を使用して解決
WHERE
IF (c.use_id_as_emp_no = '0', LCASE(ccal.applicant_id), cc.contractor_idPK) LIKE LCASE('%staff01%')