Skip to content

适用虚谷数据库版本

v12.10.8



适用虚谷数据库版本

v12.10.8


ARRAY_POSITION

📄字数 698
👁️阅读量 加载中...

功能描述

在一个数组中查找指定元素第一次出现的位置。它返回该元素的下标(从1开始),如果元素不存在于数组中,则返回 NULL。指定参数integer时,则查询从该下标开始。

注意

此函数仅支持在一维数组中使用。

ARRAY_POSITION返回元素第一次出现位置的下标,ARRAY_POSITIONS返回所有匹配元素的下标(从1开始)。

ARRAY数据类型的详细信息请参见《SQL语法参考指南》的数组类型章节。

语法格式

sql
ARRAY_POSITION(anycompatiblearray, anycompatible[, integer])

输入参数

  • anycompatiblearray:要查找的数组,ARRAY类型数据。
  • anycompatible:要查找的元素。该元素的类型必须与数组中的元素类型兼容。
  • integer:可选参数,从哪个位置开始查找,默认为1(即从数组的第一个元素开始查找)。

输出结果

INTEGER类型,表示元素位置。

执行类型

TYPEVALUE说明
NATIVE0函数只能在本地计算
VOLATI0函数的每次计算值不同
STABLE0函数的每次计算值相同
COMPUTE0函数支持预计算取值
NOT_CONST0函数不支持转常数
HAVE_DEF0函数参数有默认值

示例

sql

-- 从默认下标1开始查找指定元素`'mon'`第一次出现的位置
SQL> SELECT ARRAY_POSITION(ARRAY['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'], 'mon');
+-------+
| EXPR1 |
+-------+
| 2     |
+-------+

-- 从下标3开始查找指定元素`'mon'`第一次出现的位置
SQL> SELECT ARRAY_POSITION(ARRAY['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'mon'], 'mon', 3);
+-------+
| EXPR1 |
+-------+
| 8     |
+-------+