반응형
postgresql에서 배열 크기를 찾는 방법
배열의 크기를 찾을 수 있는 방법이 있습니까?
예를들면,
CREATE TABLE example (id integer[]) ;
INSERT INTO example VALUES ( '{}');
INSERT INTO example VALUES ( '{5,6,7}');
이로부터 다음과 같은 결과를 얻을 수 있는 가능성이 있습니까,
size
0
3
vyegorov가 언급했듯이,array_length
할 수 있을 겁니다또는 배열이 1차원(가능성이 있음)이며 Postgre를 실행 중인 경우SQL 9.4 이상을 사용할 수 있습니다.cardinality
:
SELECT cardinality(id) FROM example;
SELECT array_length(id, 1) FROM example;
어레이의 차원이 항상 1이 될 것이라고 가정하는 것은 제가 편안하게 생각하는 것이 아니기 때문에 다음과 같이 했습니다.
SELECT coalesce(array_length(id, 1), 0) as size FROM example;
지금까지...적어도 10년은, 하지만 우리는 많은 일을 하곤 했습니다.coalesce
그리고 그것은 꽤 편리했습니다.제가 편안함 때문에 손을 뻗는 것이 아닐까요?
postgres 8.2에서 array_upper를 사용해야 했습니다.
언급URL : https://stackoverflow.com/questions/11188756/how-to-find-the-size-of-an-array-in-postgresql
반응형
'it-source' 카테고리의 다른 글
특성 오류: 'module' 개체에 'urlopen' 특성이 없습니다. (0) | 2023.05.06 |
---|---|
집계하는 동안 MongoDB에 $second에 다른 if가 있습니까? (0) | 2023.05.06 |
나머지 화면 공간의 높이를 div로 채웁니다. (0) | 2023.05.06 |
Xcode 5.1 - 컴파일할 아키텍처 없음(ONLY_ACTIVE_ARCH=YES, 활성 arch=x86_64, VALID_ARCS=i386) (0) | 2023.05.06 |
열 ASC로 정렬하지만 NULL 값이 먼저입니까? (0) | 2023.05.06 |