当我尝试查询时:
SELECT *
FROM my_table
where my_column is Null
它返回0个结果。该列是整数。
但是当我这样做时:
SELECT *
FROM my_table
where my_column = 'Null'
它返回预期结果。有趣的是,返回的行的值为0。
在我做之前
update my_table set my_column = Null where my_column = '0';
它曾经返回'0'。
这可能是什么原因,以及使它们为NULL而不是'NULL'或'0'或0的可能解决方案。
这让我发疯,我花了4个多小时来解决这个问题。我的表到处都有这些无意义的值。因此,如果有某种方法可以解决我的表而不是单列的问题,那就更好了。
因为您正在使用字符串null 'null'
而不是null
来更新列>
使用以下语句更新您的专栏
update my_table set my_column = Null where my_column is Null;
然后运行您的第一个查询,它将为您提供结果。
SELECT * FROM my_table where my_column is Null
这里是example。