

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# BOOL\_AND 函数
<a name="BOOL_AND"></a>

BOOL\_AND 函数在单个布尔/整数列或表达式上运行。此函数将类似的逻辑应用于 BIT\_AND 和 BIT\_OR 函数。对于此函数，返回类型为布尔值（`true` 或 `false`）。

如果集合中的所有值为 true，则 BOOL\_AND 函数返回 `true` (`t`)。如果任何值为 false，该函数返回 `false` (`f`)。

## 语法
<a name="BOOL_AND-synopsis"></a>

```
BOOL_AND ( [DISTINCT | ALL] expression )
```

## 参数
<a name="BOOL_AND-arguments"></a>

 *expression*   
对其执行函数的目标列或表达式。此表达式必须具有 BOOLEAN 或整数数据类型。该函数的返回类型为 BOOLEAN。

DISTINCT \| ALL  
利用参数 DISTINCT，该函数可在计算结果之前消除指定表达式的所有重复值。利用参数 ALL，该函数可保留所有重复值。ALL 是默认值。

## 示例
<a name="bool_and_example"></a>

您可以对布尔表达式或整数表达式使用布尔函数。

例如，以下查询从 TICKIT 数据库中的标准 USERS 表返回结果，该表包含多个布尔列。

BOOL\_AND 函数对所有 5 个行返回 `false`。并非每个州的所有用户都喜欢运动。

```
select state, bool_and(likesports) from users 
group by state order by state limit 5;

state | bool_and
------+---------
AB    | f
AK    | f
AL    | f
AZ    | f
BC    | f
(5 rows)
```