Levi H.
Levi H.

Reputation: 105

How can I use a CASE in a SELECT in BigQuery if a field exactly matches one or more text strings (words)?

What I want to do is to do something (THEN) when another field contains either 'Click video' or 'Click button'

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

Upvotes: 0

Views: 40

Answers (2)

Mikhail Berlyant
Mikhail Berlyant

Reputation: 173003

The simpler approach I see

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

Upvotes: 1

Sergey Geron
Sergey Geron

Reputation: 10172

Try IF or CASE:

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 

Upvotes: 0

Related Questions