我是MySQL的新手。我创建了一个Excel文件,然后将其保存为CSV记事本格式。该文件在年龄列中包含一些 NULL 值。然后,我将该表导入到我的现有架构之一中。现在,当我以以下方式运行查询时:
SELECT * FROM mavenmovies.sql2 WHERE rep_age IS NULL;
它不返回任何行。当我以下列方式运行查询时:
SELECT * FROM mavenmovies.sql2 WHERE rep_age IS NOT NULL;
它返回包含rep_age
中包含 NULL 值的行的所有行。我检查了一下,空单元格中没有空间。我不明白为什么?
您可以使用
SELECT COALESCE(SIGN(LENGTH(rep_age)),0) as rep_age, COUNT(*) as count
FROM mavenmovies.sql2
GROUP BY COALESCE(SIGN(LENGTH(rep_age)),0)
null
和non-null
值的存在和计数,其中SIGN()
如果函数返回 1,则 count 表示rep_age
列的non-null
值数,否则表示null
值。
演示