numbers

numbers(N) – 返回一个包含单个 ‘number’ 列(UInt64)的表,其中包含从0到N-1的整数。
numbers(N, M) - 返回一个包含单个 ‘number’ 列(UInt64)的表,其中包含从N到(N+M-1)的整数。

类似于 system.numbers 表,它可以用于测试和生成连续的值, numbers(N, M)system.numbers更有效。

以下查询是等价的:

  1. SELECT * FROM numbers(10);
  2. SELECT * FROM numbers(0, 10);
  3. SELECT * FROM system.numbers LIMIT 10;

示例:

  1. -- 生成2010-01-012010-12-31的日期序列
  2. select toDate('2010-01-01') + number as d FROM numbers(365);