計算元素element在ARRAY數組a中第一次出現的位置。ARRAY數組元素位置編號自左往右,從1開始計數。
命令格式
bigint array_position(array<T> <a>, T <element>)
參數說明
a:必填。ARRAY數組。
array<T>
中的T
指代ARRAY數組元素的資料類型。支援的資料類型如下:TINYINT、SMALLINT、INT、BIGINT
FLOAT、DOUBLE
BOOLEAN
DECIMAL、DECIMALVAL
DATE、DATETIME、TIMESTAMP、IntervalDayTime、IntervalYearMonth
STRING、BINARY、VARCHAR、CHAR
ARRAY、STRUCT、MAP
element:必填。待查詢的元素,資料類型必須與a中元素的資料類型相同。
傳回值說明
返回BIGINT類型。返回規則如下:
如果ARRAY數組a或element為NULL,返回NULL。
未找到元素時返回0。
使用樣本
樣本1:計算元素
1
第一次出現在ARRAY數組array(3, 2, 1)
中的位置。命令樣本如下。--返回3。 select array_position(array(3, 2, 1), 1);
樣本2:element為NULL。命令樣本如下。
--返回NULL。 select array_position(array(3, 1, null), null);
相關函數
ARRAY_POSITION函數屬於複雜類型函數,更多對複雜類型資料(例如ARRAY、MAP、STRUCT、JSON資料)的處理函數請參見複雜類型函數。