条件表达式

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

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

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

举例:

Ø  查询ContactTitleOwner并且ContactMr为开头的记录。

SELECT

CustID,CustName,Contact,ContactTitle,CityCode

FROM

Customer 

WHERE 

ContactTitle = 'Owner'

AND

Contact like 'Mr%'

 

Ø  查询CityCode30101,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)  字符串须用单引号括起来。