- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
关于这两个数组函数的 postgres 文档非常薄弱。
我以几种不同的方式尝试了这两个函数,它们似乎返回了相同的结果。
SELECT array_length(array[[1, 2], [3, 4], [5, 6]], 1);
SELECT array_upper(array[[1, 2], [3, 4], [5, 6]], 1);
SELECT array_length(array[[1, 2], [3, 4], [5, 6]], 2);
SELECT array_upper(array[[1, 2], [3, 4], [5, 6]], 2);
最佳答案
是的,有区别。 PostgreSQL 数组下标默认从 1 开始,但 they don't have to :
By default PostgreSQL uses a one-based numbering convention for arrays, that is, an array of
n
elements starts witharray[1]
and ends witharray[n]
.
[...]
Subscripted assignment allows creation of arrays that do not use one-based subscripts. For example one might assign tomyarray[-2:7]
to create an array with subscript values from-2 to 7
.
[...]
By default, the lower bound index value of an array's dimensions is set to one. To represent arrays with other lower bounds, the array subscript ranges can be specified explicitly before writing the array contents.
一般情况下,需要使用array_lower
and array_upper
而不是假设数组将从 1
开始并在 array_length(a, n)
结束。
关于arrays - array_upper 和 array_length 之间有什么功能上的区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57171841/
关于这两个数组函数的 postgres 文档非常薄弱。 我以几种不同的方式尝试了这两个函数,它们似乎返回了相同的结果。 SELECT array_length(array[[1, 2], [3, 4]
我是一名优秀的程序员,十分优秀!