为什么 postgreSQL 使用基于 1 的数组?

Lev*_*Lev 1 postgresql array

为什么 PostgreSQL 使用基于 1 的数组(第一个元素位于索引 1)而不是基于 0 的数组(第一个元素位于索引 0)?

Cra*_*ger 8

虽然我认为 Postgresql 在 SQL-99 之前就有数组,但 SQL-99 标准指定了 1 索引数组,并且它与 SQL 中第一个元素是 1 而不是 0 的其他区域一致。

PostgreSQL 实际上支持自定义数组起始索引,但我强烈建议你不要使用它。