如果字段与一个或多个文本字符串(单词)完全匹配,我如何在 BigQuery 的 SELECT 中使用 CASE?
How can I use a CASE in a SELECT in BigQuery if a field exactly matches one or more text strings (words)?
我想做的是在另一个字段包含 'Click video' 或 'Click button'
时做某事(然后)
SELECT
CASE
WHEN field IS EXACTLY 'Click video' or 'Click button' THEN do something to another field
END
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, B,
CASE A
WHEN 90 THEN 'red'
WHEN 50 THEN 'blue'
ELSE 'green'
END
AS result
FROM Numbers
WITH Numbers AS
(SELECT 90 as A, 2 as B UNION ALL
SELECT 50, 6 UNION ALL
SELECT 20, 10)
SELECT A, B,
CASE
WHEN A > 60 THEN 'red'
WHEN A > 30 THEN 'blue'
ELSE 'green'
END
AS result
FROM Numbers
我看到的更简单的方法
SELECT
CASE
WHEN field in ('Click video', 'Click button')
THEN do something to another field
END
我想做的是在另一个字段包含 'Click video' 或 'Click button'
时做某事(然后)SELECT
CASE
WHEN field IS EXACTLY 'Click video' or 'Click button' THEN do something to another field
END
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, B,
CASE A
WHEN 90 THEN 'red'
WHEN 50 THEN 'blue'
ELSE 'green'
END
AS result
FROM Numbers
WITH Numbers AS
(SELECT 90 as A, 2 as B UNION ALL
SELECT 50, 6 UNION ALL
SELECT 20, 10)
SELECT A, B,
CASE
WHEN A > 60 THEN 'red'
WHEN A > 30 THEN 'blue'
ELSE 'green'
END
AS result
FROM Numbers
我看到的更简单的方法
SELECT
CASE
WHEN field in ('Click video', 'Click button')
THEN do something to another field
END