在标准 SQL 上查找数组位置

Finding array position on standard SQL

SELECT 2 IN UNNEST([0, 1, 1, 2, 3, 5]) AS contains_value;

returns没错,但是我们怎么才能得到位置呢?

可以return数组的位置用WITH OFFSET,但是需要把UNNEST()移动到FROM子句:

SELECT *
FROM UNNEST([0, 1, 1, 2, 3, 5]) value with OFFSET n
WHERE value = 2

您可以像 Gordon 所说的那样使用 With Offset。我只是打字有点慢才得到答案。