我正在使用like
语句处理掩盖问题,例如:
case
when name like 'PO_UTI_%' then 'UTI'
when name like 'PO_UTI_ADR_%' then 'UTI ADDRESS'
when name like 'PO_OP_%' then 'OP'
when name like 'PO_OP_HH_%' then 'OP HH'
end newname
新名称UTI将掩盖UTI地址,OP将掩盖OP HH,如何避免此掩盖问题?
谢谢!
您将条件安排得更好:
(case when name like 'PO_UTI_ADR_%' then 'UTI ADDRESS'
when name like 'PO_UTI_%' then 'UTI'
when name like 'PO_OP_HH_%' then 'OP HH'
when name like 'PO_OP_%' then 'OP'
end) as newname
实际上,最好按长度排序:
(case when name like 'PO_UTI_ADR_%' then 'UTI ADDRESS'
when name like 'PO_OP_HH_%' then 'OP HH'
when name like 'PO_UTI_%' then 'UTI'
when name like 'PO_OP_%' then 'OP'
end) as newname
这应该有助于您确保没有“掩盖”冲突。
只需按此顺序书写大小写。
case
when name like 'PO_UTI_ADR_%' then 'UTI ADDRESS'
when name like 'PO_UTI_%' then 'UTI'
when name like 'PO_OP_HH_%' then 'OP HH'
when name like 'PO_OP_%' then 'OP'
end newname