条件表达式

阅读(930) 标签: 条件表达式,

   条件表达式用于判断数据是否满足特定条件,主要用于 WHERE、HAVING、CASE 等子句中,常见类型如下:

(1) 比较表达式

语法

含义

=

等于。

<> 

不等于。

>、<、>=、<=

大于、小于、大于等于、等于等于

BETWEEN ... AND ...

范围判断,包含边界值。

IN (Value1, Value2, ...)

集合匹配。

LIKE

模糊匹配, %匹配任意字符,_ 匹配单个字符。

IS NULL 、 IS NOT NULL、=NULL、<>NULL

NULL判断。

(2) 逻辑表达式

语法

含义

AND

逻辑与,所有条件同时满足才为 TRUE。

OR

逻辑或,至少一个条件满足即为 TRUE。

NOT

逻辑非,反转条件结果。

 

(3) CASE条件表达式

语法:

CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END

举例:

Ø  查询ContactTitle为Owner并且Contact以Mr为开头的记录。

SELECT

CustID,CustName,Contact,ContactTitle,CityCode

FROM

Customer 

WHERE 

ContactTitle = 'Owner'

AND

Contact like 'Mr%'

 

Ø  查询CityCode为30101,30201,50101的员工信息。

SELECT

CustID,CustName,Contact,ContactTitle,CityCode

FROM

Customer 

WHERE 

([30101,30201,50101]).contain(CityCode)

 

Ø  根据 Bools 字段的取值,将其转换为不同数值后填入 Gender and Marital Status字段。

   SELECT

EID, Dept ,

CASE Bools

WHEN 0 THEN 'unmarried man' 

WHEN 1 THEN 'married man' 

WHEN 2 THEN 'unmarried woman'

ELSE 'married woman'

END

AS "Gender and Marital Status"

FROM

EMPS

知识点:

1) 条件表达式中除了常规的大于,小于,等于等单值判断,还可以使用集算器函数,例如上例中使用contain()

2) 字符串须用单引号括起来。