首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

CASE WHEN的应用

2012-07-02 
CASE WHEN的使用格式CASE WHEN condition THEN result[WHEN ...][ELSE result]ENDCASE子句可以用于任何表

CASE WHEN的使用

格式

CASE WHEN condition THEN result
[WHEN ...]
[ELSE result]
END

CASE子句可以用于任何表达式可以有效存在的地方。condition是一个返回boolean的表达式。如果结果为真,那么CASE表达式的结果就是符合条件的result。如果结果为假,那么以相同方式搜寻随后的WHEN子句。如果没有WHEN condition为真,那么CASE表达式的结果就是在ELSE子句里的值。如果省略了ELSE子句而且没有匹配的条件,结果为NULL。

例如:

SELECT a,CASE WHEN a = 1 THEN 'one'WHEN a = 2 THEN 'two'ELSE 'other'ENDFROM test

?

a | case--|--------1 | one2 | two3 | other4 | other

?

注意:所有result表达式的数据的类型都必须可以转换成单一的输出类型。

除此之外,还有另外一种书写形式,如下所示:

CASE expression
WHEN value THEN result
[WHEN ...]
[ELSE result]
END

先计算expression的值,然后与所有在WHEN子句中声明的value对比,直到找到一个相等的。如果没有找到匹配的,则返回在ELSE子句里的result(或者NULL)

以上例子也可以写成:

SELECT a,CASE a WHEN 1 THEN 'one'WHEN 2 THEN 'two'ELSE 'other'ENDFROM test


执行结果相同

热点排行