Использование Regexp_contains

# #google-bigquery

Вопрос:

Я хочу получить выходные данные «BR» и «CR» соответственно для следующих REGEXP_CONTAINS, но я получаю «BR» для обоих. Как мне получить «BR» для первого и «CR» для второго.

дело

  WHEN REGEXP_CONTAINS(Title, '(?i)saving') THEN 'BR'

 WHEN REGEXP_CONTAINS(Title, '(?i)Life Savings') THEN 'CR'
 

конец;

Ответ №1:

Просто измените порядок условий, как в приведенном ниже примере

 CASE
  WHEN REGEXP_CONTAINS(Title, '(?i)Life Savings') THEN 'CR'
  WHEN REGEXP_CONTAINS(Title, '(?i)saving') THEN 'BR'
END
 

Комментарии:

1. @Михали, спасибо за помощь. Теперь это работает нормально. Просто хотел знать, это для алфавитного порядка? т. е. сбережения в жизни на первом месте, чем сбережения.

2. Нет. Просто эти условия оцениваются в том порядке, в каком они указаны в вашем заявлении по делу. Поэтому сначала вы ставите более ограничительные, а затем менее ограничительные условия