所以我有一个相当长的复杂查询,但要点是查询的基本功能看起来像这样SELECT verification_id FROM verification_table
verification_id返回0-3之间的整数。有没有办法在SQL查询中执行某些操作,如果verify_id为0,则返回类似“new”的字符串,并为所有4个verification_id返回不同的字符串。
我可以通过PHP在后端执行此操作,但我想知道是否有办法通过MySQL进行此操作
答案 0 :(得分:6)
你想要一个案例陈述。它可以用于布尔条件以及在多个结果之间进行选择......
SELECT [Condition]
CASE WHEN TRUE THEN 'True'
ELSE 'False'
END
FROM [Table]
请注意,每个分支的返回类型必须相同 - 该列只能是一种类型
答案 1 :(得分:3)
SELECT CASE
WHEN verification_id = 0 THEN 'new'
WHEN verification_id = 1 THEN 'something else'
ELSE 'error?'
END AS myvalue
FROM verification_table
这样的事情应该有效。
尽管你可以考虑使用mysql ENUM字段类型,它基本上将文本字符串转换为数字,反之亦然。它是存储此类值的有效字段类型。