mysql查询没有显示空值

时间:2014-07-03 08:37:06

标签: php mysql

我在MySQL中有超过100000个数据我有性别列,有些有女性,男性和null。我正在编写查询显示所有数据,不幸的是它没有显示数据有空它只显示数据与男性和女性以下是我的查询,任何人都可以告诉我哪里出错了谢谢

SELECT DISTINCT contact.`id` , contact.`contactgroup` , contact.`media` , contact.`media2` , contact.`email1` , contact.`nationality` , contact.`country3` , contact.`twon` , contact.`area` , contact.`gender` , contact.`married` , contact.`children` , contact.`driverslicense`
FROM contact
WHERE isdeleted =0
AND (
`gender` = 'female'
OR `gender` = 'male'
OR `gender` = ''
OR `gender` = 'NULL'
)
LIMIT 180 , 30

5 个答案:

答案 0 :(得分:2)

改变

 OR `gender` = 'NULL'

OR `gender` is NULL

'NULL'是一个字符串。 AND NULL为NULL。没有长度。 (空值) 。

答案 1 :(得分:0)

试试这个:

SELECT DISTINCT contact.`id` , contact.`contactgroup` , contact.`media` , 
contact.`media2` , contact.`email1` , contact.`nationality` , contact.`country3` , 
contact.`twon` , contact.`area` , contact.`gender` , contact.`married` , 
contact.`children` , contact.`driverslicense`
FROM contact
WHERE isdeleted =0
AND (
    `gender` = 'female'
    OR `gender` = 'male'
    OR `gender` = ''
    OR `gender` IS NULL
)
LIMIT 180 , 30

答案 2 :(得分:0)

改变

 OR `gender` = 'NULL'

OR isnull(`gender`)

答案 3 :(得分:0)

在这里你已经给出了

gender = 'female' OR gender = 'male' OR gender = '' OR gender = 'NULL'

那你为什么要用作条件

SELECT contact.id , contact.contactgroup , contact.media , contact.media2 , contact.email1 , contact.nationality , contact.country3 , contact.twon , contact.area , contact.gender , contact.married , contact.children , contact.driverslicense
FROM contact WHERE isdeleted =0  LIMIT 180 , 30

答案 4 :(得分:0)

改变
OR `gender` = 'NULL'

OR `gender` IS NULL

检查IS NULL {{1}}。