如何在大查询表中右击将数字连续到一个块?

时间:2019-04-28 07:15:17

标签: google-bigquery

这是我的问题:
表中有一列,类型为Integer。

该列中任何实体的长度为7,因此是固定的。

我想在此列中的每个实体右边填充0000到9999,因此原始表中的一个实体将对应于新表中的10k新列。

例如:

原始表的第一项是“ 1234567”, 我要生成:
12345670000 12345670001 12345670002 12345670003 ... 12345679999

我该如何实现?

1 个答案:

答案 0 :(得分:2)

以下是用于BigQuery标准SQL

#standardSQL
SELECT value * 10000 + step AS value
FROM `project.dataset.table`,
UNNEST(GENERATE_ARRAY(0, 9999)) step   

您可以使用问题中的简化示例来测试,玩游戏,如下例所示

#standardSQL
WITH `project.dataset.table` AS (
  SELECT 1234567 value 
)
SELECT value * 10000 + step AS value
FROM `project.dataset.table`,
UNNEST(GENERATE_ARRAY(0, 9999)) step
-- ORDER BY value