zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

sql array 数组基本用法(二)

SQL数组 用法 基本 Array
2023-09-14 09:09:30 时间

访问数组元素

WITH sequences AS
  (SELECT [0, 1, 1, 2, 3, 5] AS some_numbers
   UNION ALL SELECT [2, 4, 8, 16, 32] AS some_numbers
   UNION ALL SELECT [5, 10] AS some_numbers)
SELECT some_numbers,
       some_numbers[OFFSET(1)] AS offset_1,
       some_numbers[ORDINAL(1)] AS ordinal_1
FROM sequences;


some_numbersoffset_1ordinal_1
[0, 1, 1, 2, 3, 5]10
[2, 4, 8, 16, 32]42
[5, 10]105

查找长度

WITH sequences AS
  (SELECT [0, 1, 1, 2, 3, 5] AS some_numbers
   UNION ALL SELECT [2, 4, 8, 16, 32] AS some_numbers
   UNION ALL SELECT [5, 10] AS some_numbers)
SELECT some_numbers,
       ARRAY_LENGTH(some_numbers) AS len
FROM sequences;


some_numberslen
[0, 1, 1, 2, 3, 5]6
[2, 4, 8, 16, 32]5
[5, 10]2

展平数组

SELECT *
FROM UNNEST(['foo', 'bar', 'baz', 'qux', 'corge', 'garply', 'waldo', 'fred'])
  AS element
WITH OFFSET AS offset
ORDER BY offset;
elementoffset
foo0
bar1
baz2
qux3
corge4
garply5
waldo6
fred7