case结构 情况一:类似于家擦中的switch语句 一般用于实现等值判断 语法: CASE 变量|表达式|字段 WHEN 要判断的值 THEN 返回的值1或语句1; WHEN 要判断的值 THEN 返回的值2或语句2; ... ELSE 要返回的值n或语句n; END CASE; 情况二:类似于java中的多重IF语句 一般用于实现区间判断 语法: CASE WHEN 要判断的条件1 THEN 返回的值1或语句1 WHEN 要判断的条件2 THEN 返回的值2或语句2 ... ELSE
语法: CASE WHEN 条件1 THEN 结果1 WHEN 条件2 THEN 结果2 ...ELSE 其他结果 END 执行顺序: 条件1成立执行结果1 条件2成立执行结果2 如果所有WHEN的条件都不成立,则执行ELSE中的结果. 说明:ELSE可省略,如果省略ELSE并且WHEN的表达式的都不为TRUE, 那么ELSE返回NULL. 使用ABCDE打分制给学生打分: --A级:90分以上 --B级:80分以上 --C级:70分以上 --D级:60分以上 --E级:60分以下 DE
1. 运算符和表达式-2 1.1. 赋值运算 1.1.1. 使用“=”进行赋值运算 “=”称为赋值运算符,用于对变量赋值.关于赋值运算符,除了将右边的表达式计算出来赋给左边以外还具备如下特点:赋值表达式本身也有值,其本身之值即为所赋之值.示例代码如下所示: int num = 18, index; System.out.println(index = num % 5); // 结果为:3,赋值表达式本身也有值 System.out.println(index); // 结果为:3 int a,
再看case语句,case语句只处理单条记录,而不是set 列名的使用,可以当做数值来使用: case when 后面简直是完美的的,什么东西都是能放的,只要是一个逻辑上的true/false的逻辑就可以: 执行顺序之加了 having 新手用having语句做条件分支,高手用select语句进行条件分支: case语句: 1)在group by语句中使用case表达式,可以灵活地选择作为聚合的单位的编号或者等级,这一点在进行非定制化统计时能发挥处巨大的为例: 2)在聚合函数中使用case表达式