MySQL返回案例值

时间:2017-03-14 16:43:42

标签: mysql case

我正在寻找一种方法来返回“case”的值。

e.g。什么会返回md5结果没有重新计算它在then语句

SELECT 
CASE md5(col1,col2,col3,...,coln) 
WHEN MD5('') then NULL 
else ???
end

1 个答案:

答案 0 :(得分:0)

如果您不想在选择列表中多次重复计算,则需要将其推入子查询并引用子查询中设置的字段别名:

SELECT 
    CASE t1.calc 
        WHEN MD5('') then NULL 
        else t1.calc
    end as md_5
FROM
    (select md5(col1,col2,col3,...,coln) as calc from table) t1