MySQL使其识别0小于A的case语句

时间:2019-01-29 02:01:25

标签: mysql sql case

我编写了一条case语句,返回的是ladder_value_lh2是<还是> ladder_value_lh1:

    CASE
        WHEN ladder_value_lh1>ladder_value_lh2 THEN 'up'
        WHEN ladder_value_lh1< ladder_value_lh2 THEN 'down'
        WHEN ladder_value_lh2 IS NULL THEN 'No Change'
        END AS advocacy_moved_up_down_nochange,

梯形图值由0,A,B,C1,C2,D和E组成。

现在,它无法识别0小于A(等等)。因此,如果ladder_value_lh1为0,并且小于B的ladder_value_lh2,我期望会下降;现在,它正在返回“不变”。

如何判断0小于A(等等)?

谢谢

1 个答案:

答案 0 :(得分:1)

我建议您使用field()

(case sign(field(ladder_value_lh1, '0', 'A', 'B', 'C1', 'C2', 'D', 'E') - field(ladder_value_lh2, '0', 'A', 'B', 'C1', 'C2', 'D', 'E'))
      when 1 then 'up'
      when -1 then 'down'
      when 0 then 'no change'
      else 'null value'
 end)