在 BigQuery 中生成一列随机日期
Posted
技术标签:
【中文标题】在 BigQuery 中生成一列随机日期【英文标题】:Generate a column of random dates in BigQuery 【发布时间】:2019-11-17 23:36:54 【问题描述】:如何使用 bigquery 创建一个包含随机选择的日期的新列?这与this question 密切相关,但日期应该是随机的,并且不包含任何内容。理想情况下,它只是给定范围内的一列 ID 和一列随机日期:
ID Date
1 2010-01-01
2 2012-03-31
3 2011-07-11
4 2015-06-09
这是easier on regular sql,但我无法让这种方法与 bigquery sql 语法一起使用。
【问题讨论】:
【参考方案1】:以下是 BigQuery 标准 SQL
#standardSQL
WITH parameters AS (
SELECT 100 ids_count, DATE '2010-01-01' start_date, DATE '2020-12-31' finish_date
)
SELECT id, DATE_FROM_UNIX_DATE(CAST(start + (finish - start) * RAND() AS INT64)) random_date
FROM parameters,
UNNEST(GENERATE_ARRAY(1, ids_count)) id,
UNNEST([STRUCT(UNIX_DATE(start_date) AS start, UNIX_DATE(finish_date) AS finish)])
-- ORDER BY id
【讨论】:
以上是关于在 BigQuery 中生成一列随机日期的主要内容,如果未能解决你的问题,请参考以下文章
如何在 BigQuery 中生成日期系列并为缺失的销售数据填充零
如何在Oracle中生成一周的第一天,一周的最后一天和两个日期之间的周数
sql [BigQuery - Facebook产品目录]查询para obtenerelcatálogodeproductos de Kichink。 #facebook #bigqu