如果某个字段与一个或多个文本字符串单词完全匹配,如何在 BigQuery 的 SELECT 中使用 CASE?

问题描述

我想做的是在另一个字段包含“点击视频”或“点击按钮”时做一些事情(THEN)

SELECT 
CASE 
WHEN field IS EXACTLY 'Click video' or 'Click button' THEN do something to another field
END

解决方法

我看到的更简单的方法

SELECT 
CASE 
  WHEN field in ('Click video','Click button') 
  THEN do something to another field
END
,

试试 IFCASE

WITH Numbers AS
 (SELECT 10 as A,20 as B UNION ALL
  SELECT 50,30 UNION ALL
  SELECT 60,60)
SELECT
  A,B,IF( A<B,'true','false') as result
FROM Numbers


WITH Numbers AS
 (SELECT 90 as A,2 as B UNION ALL
  SELECT 50,8 UNION ALL
  SELECT 60,6 UNION ALL
  SELECT 50,10)
SELECT A,CASE A
    WHEN 90 THEN 'red'
    WHEN 50 THEN 'blue'
    ELSE 'green'
  END
  AS result
FROM Numbers


WITH Numbers AS
 (SELECT 90 as A,6 UNION ALL
  SELECT 20,CASE
    WHEN A > 60 THEN 'red'
    WHEN A > 30 THEN 'blue'
    ELSE 'green'
  END
  AS result
FROM Numbers