Google bigquery 如何修改BigQuery表中的列数据
我一直在尝试在线搜索,但我只能看到如何添加、删除和更改表中的列。基本上,我需要在BigQuery中浏览一整列电子邮件地址,并在每行中添加第二个电子邮件地址Google bigquery 如何修改BigQuery表中的列数据,google-bigquery,Google Bigquery,我一直在尝试在线搜索,但我只能看到如何添加、删除和更改表中的列。基本上,我需要在BigQuery中浏览一整列电子邮件地址,并在每行中添加第二个电子邮件地址 ID|Name |email 1 |Name1|email1@address.com 2 |Name2|email2@address.com 3 |Name3|email3@address.com 4 |Name4|email4@address.com 5 |Name5|email5@address.com 6 |Name6|email6@a
ID|Name |email
1 |Name1|email1@address.com
2 |Name2|email2@address.com
3 |Name3|email3@address.com
4 |Name4|email4@address.com
5 |Name5|email5@address.com
6 |Name6|email6@address.com
我所要寻找的是一些脚本,它将通过一个列,并在中间添加一个第二个EMAILADAVER,以使它看起来像:
ID|Name |email
1 |Name1|email1@address.com,secondemail@address.com
2 |Name2|email2@address.com,secondemail@address.com
3 |Name3|email3@address.com,secondemail@address.com
4 |Name4|email4@address.com,secondemail@address.com
5 |Name5|email5@address.com,secondemail@address.com
6 |Name6|email6@address.com,secondemail@address.com
而所有的开始数据保持不变。如果可能的话,请告诉我。还有"secondemail@address.com“只是一个电子邮件地址,每个用户都不会更改。出于业务原因,我需要这种格式。下面是针对BigQuery标准SQL的
#standardSQL
SELECT * REPLACE(email || ',secondemail@address.com' AS email)
FROM `project.dataset.table`
您可以使用问题中的样本数据测试、播放上述内容,如下例所示
#standardSQL
WITH `project.dataset.table` AS (
SELECT 1 id, 'Name1' name, 'email1@address.com' email UNION ALL
SELECT 2, 'Name2', 'email2@address.com' UNION ALL
SELECT 3, 'Name3', 'email3@address.com' UNION ALL
SELECT 4, 'Name4', 'email4@address.com' UNION ALL
SELECT 5, 'Name5', 'email5@address.com' UNION ALL
SELECT 6, 'Name6', 'email6@address.com'
)
SELECT * REPLACE(email || ',secondemail@address.com' AS email)
FROM `project.dataset.table`
有输出
Row id name email
1 1 Name1 email1@address.com,secondemail@address.com
2 2 Name2 email2@address.com,secondemail@address.com
3 3 Name3 email3@address.com,secondemail@address.com
4 4 Name4 email4@address.com,secondemail@address.com
5 5 Name5 email5@address.com,secondemail@address.com
6 6 Name6 email6@address.com,secondemail@address.com
不考虑电子邮件中的空/缺失值!如果有帮助的话,考虑投票吧!