我该如何使用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语法。
答案 0 :(得分:2)
以下是用于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