从查询中的所有列中排除某些数值

时间:2021-02-14 23:29:16

标签: sql

我有一个表格,它使用数值 -9999 和 9999 来表示缺失值。我需要使用 WHERE 子句在我的查询中排除具有这些值之一的所有记录。这是我尝试过的:

SELECT *
FROM weather
WHERE (* != -9999 & * != 9999);

我听说您可以改用 except,但我的老师希望我们练习使用 where。任何帮助将不胜感激,谢谢。

2 个答案:

答案 0 :(得分:1)

我认为规范的解决方案是NOT IN

where col not in (-9999, 9999)

不幸的是,您必须对所有列执行此操作。 . .虽然我可以想象一些使用 JSON 功能的数据库中的技巧。

答案 1 :(得分:0)

选择 *
来自天气
WHERE table_column != -9999
AND table_column != 9999;

将 table_column 更改为右表列,即保存值的列。
您还可以使用:
...
其中 table_column 不在 (9999,-9999)

相关问题