关于官网文档中 array_exists 函数的问题

Viewed 62

背景:在迁移 ck 业务到 doris 过程中,寻找 arrayExists https://clickhouse.com/docs/zh/sql-reference/functions/array-functions 函数替代方法。
问题:

select array_exists(x->x>1,[1,2,3])

>  [0, 1, 1]

select array_map(x->x>1,[1,2,3]) 

>[0, 1, 1]

这两个函数 array_exists,array_map 在官网功能中属于同一函数。
但 array_exists 与官网描述不符合。
image.png

2 Answers

我理解
官网描述:

array_exists(x->x>1,[1,2,3]) 返回值 1

array_exists(x->x>2,[1,0,0]) 返回值 0

实际:
array_exists(x->x>1,[1,2,3]) 返回值 [0, 1, 1]
array_exists(x->x>2,[1,0,0]) 返回值 [0, 0, 0]

这里描述不符合指的是哪里?
select array_map(x->x>1,[1,2,3])
select 1 > 1; 返回 0;
select 2 > 1; 返回 1;
select 3 > 1; 返回 1;

当计算返回非0时,返回1;否则返回0。
即返回结果 [0, 1, 1]