当列等于特定值时,MySQL会从select中排除列

时间:2014-09-08 10:28:01

标签: mysql

我有一个Select查询,用于从表中选择id为特定值的列,例如

SELECT ID, Col1, Col2 FROM table1 WHERE ID = 4;

其中Col2是整数列。如果Col2为0,我想将其从选择中排除。上面将返回至少1行。

所以基本上如果Col2为0,则返回ID和Col1,如果它不是0,则返回所有三个。

在MySQL中有没有办法做到这一点?

编辑:我应该说排除值不是列。

1 个答案:

答案 0 :(得分:1)

您可以使用CASE执行此操作(但您无法排除完全结果中的列)

SELECT
   ID,
   Col1,
   CASE WHEN Col2 <> 0 THEN Col2 END as Col2
FROM table1
WHERE ID = 4