

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# ColumnValues
<a name="dqdl-rule-types-ColumnValues"></a>

您可以針對欄中的值執行運算式。

**語法**

```
ColumnValues <COL_NAME> <EXPRESSION>
```
+ **COL\$1NAME** – 您要評估資料品質規則的欄名稱。

  **支援的欄類型**：任何欄類型
+ **EXPRESSION** – 針對規則類型回應執行的運算式，以產生布林值。如需詳細資訊，請參閱[表達式](dqdl.md#dqdl-syntax-rule-expressions)。

**範例：允許的值**

下列範例規則會檢查指定欄中的每個值是否位於一組允許的值中 (包括 null、空白和僅包含空格的字串)。

```
ColumnValues "Country" in [ "US", "CA", "UK", NULL, EMPTY, WHITESPACES_ONLY ]
ColumnValues "gender" in ["F", "M"] where "weightinkgs < 10"
```

**範例：規則運算式**

下列範例規則會根據規則運算式檢查欄中的值。

```
ColumnValues "First_Name" matches "[a-zA-Z]*"
```

**範例：日期值**

下列範例規則會根據日期運算式檢查日期欄中的值。

```
ColumnValues "Load_Date" > (now() - 3 days)
```

**範例：數值**

下列範例規則會檢查欄值是否符合特定數值限制條件。

```
ColumnValues "Customer_ID" between 1 and 2000
```

**Null 行為**

 對於所有 `ColumnValues` 規則 (`!=` 和 `NOT IN` 除外)，`NULL` 資料列將不符合規則。如果規則因 null 值而失敗，則失敗原因會顯示下列項目：

```
Value: NULL does not meet the constraint requirement!
```

 下列範例複合規則提供明確允許 `NULL` 值的方法：

```
(ColumnValues "Age" > 21) OR (ColumnValues "Age" = NULL)
```

 使用 `!=` 和 `not in` 語法的否定 ColumnValues 規則會傳遞給 `NULL` 資料列。例如：

```
ColumnValues "Age" != 21
```

```
ColumnValues "Age" not in [21, 22, 23]
```

 下列範例提供明確使 `NULL` 值失敗的方法 

```
(ColumnValues "Age" != 21) AND (ColumnValues "Age" != NULL)
```

```
ColumnValues "Age" not in [21, 22, 23, NULL]
```