私はこの(低級(p.station)LIKE '%' || c.match_text || '%')のようにしてエラーを取得するコードOracleのCASE/THEN内でLIKEを使用しますか?
WHERE p.id = m.id AND (
CASE
WHEN (c.match_text IS NOT NULL)
THEN (
(lower(p.station) LIKE '%'||c.match_text||'%')
OR
(
(lower(p.station) LIKE '%sealed in%')
AND
(lower(p.affected_units) LIKE '%'||c.match_text||'%')
)
)
WHEN(u.name LIKE '%Memory%')
THEN (
(lower(p.affected_fuels) LIKE '%nuclear%')
AND
のこの部分を持っています!
なぜですか?
私はこのアプローチを考えていたことは問題を修正します:
WHEN (c.match_text IS NOT NULL)
THEN (
CASE WHEN
(lower(p.station) LIKE '%'||c.match_text||'%')
OR
(
(lower(p.station) LIKE '%sealed in%')
AND
(lower(p.affected_units) LIKE '%'||c.match_text||'%')
)
THEN true
ELSE false
END
)
おかげ
しかし、どのようなエラーがありますか? –
ORA-00907 –
条件ではなくTHENの後に値が必要です。 – Andomar