Mysql条件判断函数使用-选择两列中较大一列数据

今天看到了一道题,简单讲就是核心问题,表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;

  

  

猜你喜欢

转载自www.cnblogs.com/xiejinjie/p/10074754.html
今日推荐