BOOL_AND 函数

bool_and([DISTINCT] expr) [FILTER (WHERE condition)]

功能描述

BOOL_AND
BOOL_AND
函数用于判断一组布尔值(
expr
expr
)是否全部为
TRUE
TRUE
。当所有给定的布尔值都为
TRUE
TRUE
时,函数返回
TRUE
TRUE
;否则,返回
FALSE
FALSE
。如果设置了
DISTINCT
DISTINCT
关键字,函数将仅计算不重复的布尔值。

参数说明

  • expr
    expr
    :需要进行逻辑与操作的布尔表达式。

返回类型

布尔值(

BOOLEAN
BOOLEAN
)。

使用示例

  1. 判断所有布尔值为
    TRUE
    TRUE

SELECT bool_and(col) FROM VALUES (TRUE), (TRUE), (TRUE) AS tab(col); +---------------+ | bool_and(col) | +---------------+ | TRUE | +---------------+

  1. 包含
    NULL
    NULL
    值的情况:

SELECT bool_and(col) FROM VALUES (TRUE), (TRUE), (NULL) AS tab(col); +---------------+ | bool_and(col) | +---------------+ | TRUE | +---------------+

  1. 使用
    DISTINCT
    DISTINCT
    关键字,去重后判断所有布尔值为
    TRUE
    TRUE

SELECT bool_and(DISTINCT col) FROM VALUES (TRUE), (TRUE), (TRUE) AS tab(col); +------------------------+ | bool_and(DISTINCT col) | +------------------------+ | TRUE | +------------------------+

  1. 包含
    FALSE
    FALSE
    值的情况:

SELECT bool_and(col) FROM VALUES (FALSE), (TRUE), (NULL) AS tab(col); +---------------+ | bool_and(col) | +---------------+ | FALSE | +---------------+

  1. 仅包含一个
    TRUE
    TRUE
    值和一个
    FALSE
    FALSE
    值:

SELECT bool_and(col) FROM VALUES (TRUE), (FALSE) AS tab(col); +---------------+ | bool_and(col) | +---------------+ | FALSE | +---------------+

  1. 使用 FILTER 子句条件性地计算布尔与:

SELECT bool_and(col1) FILTER (WHERE col2 > 1) FROM VALUES (TRUE, 2), (TRUE, 3), (FALSE, 1) AS tab(col1, col2); +----------------------------------------------+ | bool_and(col1) FILTER (WHERE (col2 > 1)) | +----------------------------------------------+ | TRUE | +----------------------------------------------+

联系我们
预约咨询
微信咨询
电话咨询