PostgreSQL/Array/Array Upper
Upper and lower bound of a specified array dimension
<source lang="sql">
postgres=# postgres=# CREATE TABLE sal_emp ( postgres(# name text, postgres(# pay_by_quarter integer[], postgres(# schedule text[][] postgres(# ); CREATE TABLE postgres=# postgres=# INSERT INTO sal_emp postgres-# VALUES ("Bill", postgres(# ARRAY[10000, 10000, 10000, 10000], postgres(# ARRAY[["meeting", "lunch"], ["training", "presentation"]]); INSERT 0 1 postgres=# postgres=# INSERT INTO sal_emp postgres-# VALUES ("Carol", postgres(# ARRAY[20000, 25000, 25000, 25000], postgres(# ARRAY[["breakfast", "consulting"], ["meeting", "lunch"]]); INSERT 0 1 postgres=# postgres=# SELECT * FROM sal_emp;
name | pay_by_quarter | schedule
+---------------------------+-------------------------------------------
Bill | {10000,10000,10000,10000} | {{meeting,lunch},{training,presentation}} Carol | {20000,25000,25000,25000} | {{breakfast,consulting},{meeting,lunch}}
(2 rows) postgres=# postgres=# -- Upper and lower bound of a specified array dimension postgres=# postgres=# SELECT array_upper(schedule, 1) FROM sal_emp WHERE name = "Carol";
array_upper
2
(1 row) postgres=# postgres=# postgres=# drop table sal_emp; DROP TABLE postgres=# postgres=#
</source>