帶你瞭解GaussDB SQL中的BOOLEAN表示式

华为云开发者联盟發表於2024-05-10

本文分享自華為雲社群《GaussDB SQL基礎語法示例-BOOLEAN表示式》,作者:Gauss松鼠會小助手2。

一、前言

SQL是用於訪問和處理資料庫的標準計算機語言。GaussDB支援的SQL標準(預設支援SQL2、SQL3和SQL4的主要特性)。

本系列將以《雲資料庫GaussDB—SQL參考》為主線進行介紹。

二、GaussDB SQL 中的BOOLEAN表示式介紹

1、概念

在GaussDB資料庫中,BOOLEAN表示式是一種很常見的表示式型別,它用於比較兩個條件,來確定其是否為真或假。BOOLEAN表示式可以用於條件判斷或在迴圈語句中作為終止條件。其語法非常簡單,只需要使用邏輯運算子對兩個條件進行比較。GaussDB SQL支援AND、OR等邏輯運算子,這些運算子可以將結果組合成更復雜的布林表示式。

2、組成

• 運算子:比較運算子(如=、<>、<、>、<=、>=)和邏輯運算子(如AND、OR、NOT等)。

• 運算元:用於比較的欄位值或常量。

3、語法示例

如下截圖是遊標使用中的SQL部分,SQL中涉及到BOOLEA表示式用於條件判斷和迴圈語句部分,可參考:

帶你瞭解GaussDB SQL中的BOOLEAN表示式

1)條件判斷,見紅色方框

v_salary>=20000”,在這個例子中,當v_salary >= 20000 時,則執行THEN 後面的 UPDATE語句。

2)迴圈語句,見藍色方框

“%NOTFOUND”,是遊標的屬性之一,用於控制程式流程或者瞭解程式的狀態。當最近的DML(資料操作語言)操作(如INSERT,UPDATE,DELETE等)沒有影響任何行時,該屬性為真。'EXIT WHEN c1%NOTFOUND;' 就會執行。

三、在GaussDB SQL中的基礎應用

使用布林表示式可以根據特定條件對結果進行過濾,只返回滿足條件的資料。以下是一些在SELECT列表中使用布林表示式的示例。

1、示例1,使用比較運算子

--根據工資是否大於2w判斷其是否為高工資,返回TRUE或FALSE

SELECT *

,(salary > 20000) AS high_salary

FROM company;

帶你瞭解GaussDB SQL中的BOOLEAN表示式

上述SQL示例中,我們從company表中選擇name、age、address、salary和一個布林表示式(salary > 20000),該表示式用於判斷員工的工資是否高收入。 結果集中的high_salary列將顯示布林值TRUE或FALSE。

2、示例2,使用邏輯運算子

--根據年齡是否在18-60之間,判斷其是否為有效年齡,返回TRUE或FALSE

SELECT *

,(age >= 18 AND age <= 60) AS valid_age

FROM company;

帶你瞭解GaussDB SQL中的BOOLEAN表示式

上述SQL示例中,我們從company表中選擇name、age、address、salary和一個布林表示式(age >= 18 AND age <= 60),該表示式用於判斷員工的年齡是否有效。 結果集中的valid_age列將顯示布林值TRUE或FALSE。

3、示例3,使用IS NOT NULL運算子

--判斷地址是否為空,返回TRUE或FALSE

SELECT *

,(address IS NOT NULL) AS null_address

FROM company;

帶你瞭解GaussDB SQL中的BOOLEAN表示式

上述SQL示例中,我們從company表中選擇name、age、address、salary和一個布林表示式(address IS NOT NULL),該表示式用於判斷員工的地址是否為空值。 結果集中的null_address列將顯示布林值TRUE或FALSE。

4、示例4,使用like模式匹配運算子

LIKE:判斷字串是否能匹配上LIKE後的模式字串。如果字串與提供的模式匹配,則LIKE表示式返回為真(NOT LIKE表示式返回假),否則返回為假(NOT LIKE表示式返回真)。

--判斷地址是否是CN,返回TRUE或FALSE

SELECT *

,(address LIKE 'CN%') AS c_address

FROM company;

帶你瞭解GaussDB SQL中的BOOLEAN表示式

上述SQL示例中,我們從company表中選擇name、age、address、salary和一個布林表示式(address LIKE 'CN%'),該表示式用於判斷員工的地址是否在CN。 結果集中的c_address列將顯示布林值TRUE或FALSE。

GaussDB SQL還有一個模式匹配運算子SIMILAR TO

描述:SIMILAR TO運算子根據自己的模式是否匹配給定串而返回真或者假。他和LIKE非常類似,只不過他使用SQL標準定義的正規表示式理解模式。

四、小結

BOOLEAN表示式在SQL中非常常用,它們允許開發人員構建邏輯語句,這些語句能夠對錶中的資料進行復雜的過濾和選擇。透過使用布林表示式,查詢結果可以縮小到滿足特定條件的行,或者可以根據這些條件對資料進行聚合和分組。

總之,布林表示式可以幫助我們進行邏輯判斷和迴圈控制,提高程式碼的可讀性。 熟練掌握BOOLEAN表示式的使用,在GaussDB SQL等開發過程中非常重要。

點選關注,第一時間瞭解華為雲新鮮技術~

相關文章