MySQL 中未显示 NULL 值的结果
Results not showing in MySQL with NULL values
所以我在 MySQL 中设置了一个查询,如下所示,但由于某些原因,它不会包含列 'contact_CompanyID' 为 NULL 的结果。理论上,查询不应包含 'contact_CompanyID' 等于 2311 或 1 的结果,那么为什么结果不显示 'contact_CompanyID' 为 NULL 的位置(因为 NULL 不等于 2311 或 1) .正如您在查询中看到的那样,我尝试了不同的方法,但其中 none 行得通(注释掉的行)。
SELECT contact_ID, contact_FirstName, contact_LastName, contact_CompanyID
FROM Contact WHERE
NOT contact_IsUnsubscribed
AND NOT contact_HasLeftCompany
#AND contact_CompanyID <> 2311
#AND contact_CompanyID <> 1
#AND NOT contact_CompanyID = 2311
#AND NOT contact_CompanyID = 1
#AND NOT FIND_IN_SET(contact_CompanyID,'2311,1')
非常感谢。
contact_CompanyID可能是白带space.
请检查以下查询
SELECT contact_ID, contact_FirstName, contact_LastName, contact_CompanyID
FROM Contact
WHERE contact_LastName = 'Dodd'
and length(trim(contact_CompanyID)) = 0
几乎任何对 NULL
值的比较都会计算出 NULL
——这被视为假。
您可以使用的一种方法是 NULL
安全比较。在 MySQL 中,这看起来像:
SELECT contact_ID, contact_FirstName, contact_LastName, contact_CompanyID
FROM Contact
WHERE NOT contact_IsUnsubscribed AND
NOT contact_HasLeftCompany AND
NOT contact_CompanyID <=> 2311 ;
所以我在 MySQL 中设置了一个查询,如下所示,但由于某些原因,它不会包含列 'contact_CompanyID' 为 NULL 的结果。理论上,查询不应包含 'contact_CompanyID' 等于 2311 或 1 的结果,那么为什么结果不显示 'contact_CompanyID' 为 NULL 的位置(因为 NULL 不等于 2311 或 1) .正如您在查询中看到的那样,我尝试了不同的方法,但其中 none 行得通(注释掉的行)。
SELECT contact_ID, contact_FirstName, contact_LastName, contact_CompanyID
FROM Contact WHERE
NOT contact_IsUnsubscribed
AND NOT contact_HasLeftCompany
#AND contact_CompanyID <> 2311
#AND contact_CompanyID <> 1
#AND NOT contact_CompanyID = 2311
#AND NOT contact_CompanyID = 1
#AND NOT FIND_IN_SET(contact_CompanyID,'2311,1')
非常感谢。
contact_CompanyID可能是白带space.
请检查以下查询
SELECT contact_ID, contact_FirstName, contact_LastName, contact_CompanyID
FROM Contact
WHERE contact_LastName = 'Dodd'
and length(trim(contact_CompanyID)) = 0
几乎任何对 NULL
值的比较都会计算出 NULL
——这被视为假。
您可以使用的一种方法是 NULL
安全比较。在 MySQL 中,这看起来像:
SELECT contact_ID, contact_FirstName, contact_LastName, contact_CompanyID
FROM Contact
WHERE NOT contact_IsUnsubscribed AND
NOT contact_HasLeftCompany AND
NOT contact_CompanyID <=> 2311 ;