今天看到了一道题,简单讲就是核心问题,表t中有两列a,b,使用sql实现:当a>b时,选择a列,否则选择b列。
之前工作中也遇到类似问题,需要使用Mysql条件判断函数IF或者CASE。
- IF函数的语法是 :IF(expr,v1,v2),如果表达式expr是true(expr<>0 and expr <> NULL),则函数返回v1,反之返回v2。
所以这道题可以这么写:
select IF(a>b, a , b) from t;
- CASE函数:CASE expr WHEN v1 THEN r1 [WHEN v2 THEN r2] [ELSE rm] END, 如果expr值等于某个vn,则返回对应位置THEN后面的结果。如果与所有值都不想等,则返回ELSE后面的rn
这道题也可以这么写:
select CASE WHEN a>b THEN a ELSE b from t;
原文地址:https://www.cnblogs.com/xiejinjie/p/10074754.html
时间: 2024-10-11 19:18:44