Все, что соответствует любому, будет 'FIRST'
. CASE
выражения оцениваются в порядке . Все, что соответствует '%first_test_abc_def%'
, также будет соответствовать '%first_test%'
.
Итак, сначала поместите самое ограничительное:
WHEN a.ref LIKE '%first_test_abc_def%'
THEN 'THIRD'
WHEN a.ref LIKE '%first_test_abc_%'
THEN 'SECOND'
WHEN a.ref LIKE '%first_test%'
THEN 'FIRST'
Обратите внимание, что это поведение не c для Redshift. Так работает SQL.
Кроме того, _
является подстановочным знаком для LIKE
, поэтому 'firstXtest'
также будет соответствовать 'FIRST'
.