我正在使用#standardSQL BigQuery。我尝试使用LIKE,但无法进行匹配。
我有下表,我正在尝试在BigQuery中编写查询,其中,如果列A中包含列A,那么我希望输出列C中的字符串来自列A或'1'。在这种情况下,列A和列B之间没有匹配,那么我希望在输出列C中获得列B或'0'。
id | Column A | Column B
1 | John | Alex, John
3 | Cerci | Cerci
5 | Mike | Mike
2 | Simi | Expatri
6 | Hazel | Expatri, Hazel
4 | Bald | Hair
7 | Cam | Ambrose, Cam
我理想中想要的
id | Column A | Column B | **Column C**
1 | John | Alex, John | John
3 | Cerci | Cerci | Cerci
5 | Mike | Mike | Mike
2 | Simi | Expatri | Expatri
6 | Hazel | Expatri, Hazel | Hazel
4 | Bald | Hair | Hair
7 | Cam | Ambrose, Cam | Cam
使用CASE
表达式:
SELECT
id,
A,
B,
CASE WHEN B LIKE '%' || A || '%' THEN A ELSE B END AS C
FROM yourTable
ORDER BY id;