在BigQuery上随机产生True或False

时间:2018-06-30 20:19:40

标签: sql google-bigquery

我试图为一个BQ表的所有行随机生成一个布尔值(真或假),并将其与布尔列一起插入到另一个表中。我现在正在执行以下操作:

#standardSQL
select (case when rand() > 0.5 then True else False end) as A

我不确定如何为每一行生成此代码:

Table 1
Name 
XXX
YYY
ZZZ

现在,我想为每个名称随机生成True或False,并将其插入表2中,如下所示:

Table 2
Name | True_or_False
XXX  | True
YYY  | True
ZZZ  | False

任何指针都会有所帮助。

2 个答案:

答案 0 :(得分:2)

只需将逻辑添加到选择中:

select t.*, (rand() < 0.5) as flag 
from table1 t;

答案 1 :(得分:2)

下面是用于BigQuery标准SQL的-假设table2已经存在

#standardSQL
INSERT `project.dataset.table2` (Name, True_or_False)
SELECT Name, RAND() > 0.5 True_or_False
FROM `project.dataset.table1`