Mysql条件判断関数使用-2つの列のうち1つ大きい列のデータを選択

651 ワード

今日1つの問題を見て、簡単に言えば核心の問題で、表tの中に2列のa,bがあって、sqlを使って実現します:a>bの時、a列を選んで、さもなくばb列を選びます.
これまでも同様の問題があり,Mysql条件を用いて関数IFまたはCASEを判断する必要があった.
  • IF関数の構文は、IF(expr,v 1,v 2)であり、式exprがtrue(expr<>0 and expr<>NULL)である場合、関数はv 1を返し、逆にv 2を返す.

  • この問題はこう書くことができます
    select IF(a>b, a , b) from t;
    

     
  • CASE関数:CASE expr WHEN v 1 THEN r 1[WHEN v 2 THEN r 2][ELSerm]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