So im trying to use a case statement to update a column in a table with a lot of specific conditions. the code I have below should be evident what my goal is, but I am getting an error saying:
ERROR: Operand of WHEN clause 1 is not the same data type as the CASE operand.
ERROR: Operand of WHEN clause 3 is not the same data type as the CASE operand.
ERROR: Operand of WHEN clause 4 is not the same data type as the CASE operand.
ERROR: Operand of WHEN clause 5 is not the same data type as the CASE operand.
ERROR: Operand of WHEN clause 6 is not the same data type as the CASE operand.
I believe this is because the or statements are logicals and not strings as they should be on the right side? code is below, any help is appreciated.
update cat_rotn_data
set rotn_ac_typ_cd = case rotn_ac_typ_cd
when '31J' or '320' or '321' or '319' or'32K' or'32M' or'32R' or'3HF' or'3KR' or'3MR' then '320'
when '717' then '717'
when 'M88' or 'M90' or 'M9K' then 'M88'
when '738' or'739' or '73A' or '73E' or '73W' or '73H' or '700' then '73N'
when '332' or '333' or '33X' or '339' or '330' then '330'
when '757' or '75C' or '75D' or '75G' or '75H' or '75P' or '75S' or '75Y' or '76L' or '76P' or '76Q' or '76T' or '76Z' or '75N' or'7ER' then '7ER'
when '777' or '77B' or '7HD' or '7HB' or '7CD' or '7CB' then '777'
else 'ERROR'
end;