我正在寻找一种方法来返回“case”的值。
e.g。什么会返回md5结果没有重新计算它在then语句
SELECT
CASE md5(col1,col2,col3,...,coln)
WHEN MD5('') then NULL
else ???
end
答案 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