在 SQL 查詢中使用條件

在 WHERE 子句後面,您可以為 SELECT 陳述式傳回的列指定搜尋條件。當條件對特定列評估為 True 時,搜尋條件就會傳回值。

有效的條件包括:

  • 等於
  • 介於
  • 類似
  • 不在

請注意下列事項:

  • 在 SQL 查詢中選取的條件所傳回的參數是在資料管理中的「目標應用程式篩選條件」頁面指定。

  • 複雜查詢中的 = (等於) 符號必須優先於 $ 參數。

  • 目標應用程式參數的值可以有逗號分隔的值,例如 IN,BETWEEN,NOT IN。

  • 系統會指派繫結參數的資料類型。數字和日期會處理為整數和日期。其他所有值會被視為字串。

  • 資料整合中「執行整合」頁面的「篩選條件」頁籤,可以使用條件化的篩選條件。

下表描述 SQL 查詢中可使用的條件。

條件 描述

EQUAL

檢查兩個表示式是否相等。如果表示式相等,則條件為 True,傳回相符的記錄。

下列 SQL 陳述式在等於條件成立時執行,並傳回客戶 ID 等於 Smith 的記錄:

SELECT * FROM Customers

WHERE CustomerID=1

BETWEEN

檢查某個範圍之間的值,並傳回相符的值。

BETWEEN 條件是包含值,亦即包含開始值和結束值。

BETWEEN 語法:

SELECT column_name(s)

FROM table_name

WHERE column_name BETWEEN value1 AND value2;

LIKE

在 SELECT 陳述式的 WHERE 子句中使用萬用字元執行並傳回符合的樣式。

使用兩個萬用字元搭配 LIKE 運算子:

  • %:百分比符號代表 0 個、1 個或多個字元

  • _:底線代表一個字元

LIKE 語法:

SELECT column1, column2, ...

FROM table_name

WHERE column LIKE pattern

IN

等於值清單中的任何值。

IN 語法:

SELECT column_name1, column_name2, etc

FROM table_name

WHERE column_name1 IN (value1, value2, etc);

NOT IN

檢查兩個表示式是否相等。如果表示式不相等,則條件為 True,傳回不相符的記錄。

NOT IN 語法:

SELECT column_name1, column_name2, etc

FROM table_name

WHERE column_name1 NOT IN (value1, value2, etc);