我在WHERE子句中使用mySQL查询和CASE语句。
SELECT * from places WHERE
CASE WHEN
column1 > column2
THEN
id > 100
WHEN
column1 < column2
THEN
id < 100
ELSE
<DONT SELECT THE ROW>
END
如果column1 = column2(意味着我们在ELSE分支中),我不知道如何不选择任何行。我该怎么做到这一点?
答案 0 :(得分:5)
SELECT * from places WHERE
CASE WHEN
column1 > column2
THEN
id > 100
WHEN
column1 < column2
THEN
id < 100
END
AND column1 != column2
答案 1 :(得分:0)
尝试添加不可能的条件ELSE 0 = 1
。我不能100%确定的另一个选项是不在ELSE
中添加任何内容 - 它必须具有默认ELSE NULL