如何在 Postgres 中生成包含数字 1 到 n 的数组

Ale*_*lex 3 sql postgresql

我希望存在这样的东西:

> SELECT nrange(10)
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
Run Code Online (Sandbox Code Playgroud)

类似于rangePython、Racket等语言中的功能。当然,如果 PostgreSQL 中不存在这样的函数,我会非常满意地知道解决这个问题的惯用方法。谢谢!

这与问题How can I generated a series of Repeating Numbers in PostgreSQL?有点不同。因为我并不是试图生成一系列重复的数字,而是生成一个连续数字的数组。

sam*_*dai 6

幸运的是,您\xe2\x80\x99正在使用PostgreSQL,因此您可以使用generate_series()函数。

\n\n
select generate_series as num from generate_series(1,10)\n
Run Code Online (Sandbox Code Playgroud)\n