多个 WHERE IS NOT NULL 查询 return 空行
Multiple WHERE IS NOT NULL query return empty line
我尝试仅从 table 中选择包含列 name_durchgefuehrt
、name_abgelehnt
和 name_offen
中的值以及 ID 的行。
但是查询给出了所有列,而不仅仅是那些有值的列。
这是我的查询:
SELECT id, name_durchgefuehrt, name_abgelehnt, name_offen
FROM dashboard
WHERE
name_durchgefuehrt IS NOT NULL
AND name_abgelehnt IS NOT NULL
AND name_offen IS NOT NULL
结果:
编辑:
是的,我知道这对你们大多数人来说是一个简单的问题,但我对价值的理解是错误的 'Null',我认为我必须这样做。
总之谢谢大家的回答。
NULL
不是 ''
(空字符串),它是一种特殊状态,您可以使用 IS NULL
.
进行测试
但是 <> ''
将同时排除 NULL
和 ''
所以 :
SELECT id,name_durchgefuehrt,name_abgelehnt,name_offen
FROM dashboard
WHERE
name_durchgefuehrt <> ''
AND
name_abgelehnt <> ''
AND
name_offen <> ''
你必须检查你的值是否也不是空字符串,它不是必需的空值
我想指出一个字符串也可以包含 space 看起来是空的。因此,摆脱 spaces 的更通用的方法是:
SELECT id, name_durchgefuehrt, name_abgelehnt, name_offen
FROM dashboard
WHERE TRIM(name_durchgefuehrt) <> '' AND
TRIM(name_abgelehnt) <> '' AND
TRIM(name_offen) <> '' IS NOT NULL;
因为有隐藏字符,您可能需要使用正则表达式。例如,如果您有一组 space 个字符:
SELECT id, name_durchgefuehrt, name_abgelehnt, name_offen
FROM dashboard
WHERE name_durchgefuehrt regexp '[^[:space]]' AND
name_abgelehnt regexp '[^[:space]]' AND
name_offen regexp '[^[:space]]';
我尝试仅从 table 中选择包含列 name_durchgefuehrt
、name_abgelehnt
和 name_offen
中的值以及 ID 的行。
但是查询给出了所有列,而不仅仅是那些有值的列。
这是我的查询:
SELECT id, name_durchgefuehrt, name_abgelehnt, name_offen
FROM dashboard
WHERE
name_durchgefuehrt IS NOT NULL
AND name_abgelehnt IS NOT NULL
AND name_offen IS NOT NULL
结果:
编辑:
是的,我知道这对你们大多数人来说是一个简单的问题,但我对价值的理解是错误的 'Null',我认为我必须这样做。
总之谢谢大家的回答。
NULL
不是 ''
(空字符串),它是一种特殊状态,您可以使用 IS NULL
.
但是 <> ''
将同时排除 NULL
和 ''
所以 :
SELECT id,name_durchgefuehrt,name_abgelehnt,name_offen
FROM dashboard
WHERE
name_durchgefuehrt <> ''
AND
name_abgelehnt <> ''
AND
name_offen <> ''
你必须检查你的值是否也不是空字符串,它不是必需的空值
我想指出一个字符串也可以包含 space 看起来是空的。因此,摆脱 spaces 的更通用的方法是:
SELECT id, name_durchgefuehrt, name_abgelehnt, name_offen
FROM dashboard
WHERE TRIM(name_durchgefuehrt) <> '' AND
TRIM(name_abgelehnt) <> '' AND
TRIM(name_offen) <> '' IS NOT NULL;
因为有隐藏字符,您可能需要使用正则表达式。例如,如果您有一组 space 个字符:
SELECT id, name_durchgefuehrt, name_abgelehnt, name_offen
FROM dashboard
WHERE name_durchgefuehrt regexp '[^[:space]]' AND
name_abgelehnt regexp '[^[:space]]' AND
name_offen regexp '[^[:space]]';