更改 bigquery 中的列值

Posted

技术标签:

【中文标题】更改 bigquery 中的列值【英文标题】:changing column values in bigquery 【发布时间】:2020-04-07 05:27:07 【问题描述】:

我有一个表,其中有一列具有不同的值,例如美国、韩国、日本等。我想用 America=USA, South Korea=SA, Japan= JP 替换这些值。代码是什么?

【问题讨论】:

【参考方案1】:

可能处理这个问题的最好方法是维护一个单独的表,将完整的国家名称映射到它们的两个字母代码:

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;

【讨论】:

以上是关于更改 bigquery 中的列值的主要内容,如果未能解决你的问题,请参考以下文章

根据第三列值在 bigquery 中选择两个不同的列

如何引用 BigQuery SQL 中先前行的列值,以便执行操作或计算?

如何在 BigQuery 标准 SQL 中查询 Bigtable 列值?

如何更改 BigQuery 中列的数据类型

如何在 bigquery 中创建 Delta

需要将字符串从一列分隔为多列,以';'分隔bigquery中的分隔符