【发布时间】:2020-04-07 05:27:07
【问题描述】:
我有一个表,其中有一列具有不同的值,例如美国、韩国、日本等。我想用 America=USA, South Korea=SA, Japan= JP 替换这些值。代码是什么?
【问题讨论】:
标签: google-bigquery
我有一个表,其中有一列具有不同的值,例如美国、韩国、日本等。我想用 America=USA, South Korea=SA, Japan= JP 替换这些值。代码是什么?
【问题讨论】:
标签: google-bigquery
可能处理这个问题的最好方法是维护一个单独的表,将完整的国家名称映射到它们的两个字母代码:
country_full | country_abbr
America | USA
South Korea | SA
Japan | JP
然后,您可以将当前表加入此查找表以引入代码:
SELECT
t1.*,
t2.country_abbr
FROM yourTable t1
LEFT JOIN country_codes t2
ON t1.country = t2.country_full;
处理这个问题的另一种方法是使用CASE 表达式来引入代码:
SELECT
country,
CASE country WHEN 'America' THEN 'USA'
WHEN 'South Korea' THEN 'SA'
WHEN 'Japan' THEN 'JP'
ELSE 'Unknown' END As code
FROM yourTable;
【讨论】: