作用: 可以使用它们在数据库进行判断功能,跟代码中的if...else功能一样.但是,它们又存在差异,下面就来讲它们的具体作用和差别。 一: 使用语法 (一)普通case函数 CASE <表达式> WHEN <值1> THEN <操作> WHEN <值2> THEN <操作> ... ELSE <操作> END (一)搜索case函数 CASE WHEN <条件1> THEN <...
WHEN '李四' THEN '1997-7-1' ELSE BIRTHDAY END ) where NAME in ('张三','李四'); 以上语句只进行一次全表扫描,效率非常高。 转载请说明出处,多谢
首先计算 expression 的值;然后依次与 WHEN 列表中的值(value1,value2,…)进行比较,找到第一个相等的值并返回对应的结果(result1,result2,…);如果没有找到相等的值,返回 ELSE 中的默认结果;如果没有指定 ELSE,则返回 NULL 值。 SELECTage,CASEageWHEN30THEN'三十'WHEN35THEN'三十五'WHEN40THEN'四十'ELSE'不...
–简单Case函数 CASE sex WHEN ‘1’ THEN ‘男’ WHEN ‘2’ THEN ‘女’ ELSE ‘其他’ END ...
ELSE '其他' END; (上述代码在PostgreSQL会报错,需要去掉后面的WHEN THEN语句)原书中的代码对一个个地区进行举例,然后归属到不同的地区类别中,这样的代码会显得比较长,这里我们使用SQL中的in方法,这种方法比较灵活,代码量也比较少: SELECT CASE WHEN pref_name in ('德岛', '香川', '爱媛', '高知') THEN...
ELSE 'Unknown' END AS order_category FROM orders; 上述SQL语句中,根据"order_status"的值判断订单的类别,并将结果存储在计算列"order_category"中。如果"order_status"的值是'pending'或'processing',则类别为'In Progress';如果值是'completed',则类别为'Completed';如果值是'cancelled',则类别为'Cancelled'...
SQL中的IFELSE(CASE语句的使⽤)⼤家对IF ELSE语句可能都很熟悉,它是⽤来对过程进⾏控制的。在SQL的世界中CASE语句语句有类似的效果。下⾯简单的介绍CASE语句的⽤法。考虑下⾯的情况,假设有个user表,定义如下:CREATE TABLE USER (NAME VARCHAR(20) NOT NULL,---姓名 SEX INTEGER,---性别(1...
1、单条件(if…else效果) 将上述if修改成case…when: #判断亚洲和非洲中国土面积大于200万的国家是否为人口大国(人口大于2亿) selectcontinent,name, CASE WHEN population>200000000THEN'人口大国' ELSE'小国' ENDAS人口规模 fromworld wherecontinentin('Asia','Africa')andarea>2000000 ...
标准的sql语言是不支持if 这些判断语句的,如果要加入条件,一般得用到where子句。 比如,要查找customer表中的人名为‘张三’的,写成sql语句为 select * from customer where name='张三'。 在表达式中可以使用CASE语句达到IF()的效果。 例如: SELECT MAX(CASE WHEN Field1>=Field2 THEN Field1 ELSE Field2) FR...
ELSE 'Low' END AS order_category FROM orders; 此查询根据订单金额将订单分类为“高”、“中”、“低”三种等级,极大地提高了查询结果的可读性。 二、简化复杂查询 在复杂查询中,CASE表达式可以帮助简化查询逻辑,避免使用多个嵌套的IF语句或者繁琐的JOIN操作。例如,在一个包含员工信息和绩效考核数据的表中,你可能...