2013-03-07 55 views
0

查看我的结果集,尽管我的条件我看到一个空白字段。MySQL LENGTH()> 0和NOT NULL没有得到预期的结果

我想选择:

SELECT column 
FROM table 
WHERE LENGTH(column) > 0 AND column IS NOT NULL 

我也尝试:

WHERE LENGTH(column) <> 0 AND column IS NOT NULL 

,但是,我仍然看到一个空白的领域。

在我的选择,我试图检查该字段的内容:

SELECT column, LENGTH(column), HEX(column) 

等等

但是,他们都拿出了为0,看似空无一物,分别。

我在这里错过了什么?

+0

你是说SELECT'LENGTH(column)'返回'0'? – 2013-03-07 22:26:54

+0

正确。 LENGTH(列)返回0 – Mailman 2013-03-07 22:36:57

+0

删除我的答案,因为你alreay尝试它..你用什么语言来检索数据,你可以发布代码? – Oli 2013-03-07 22:39:58

回答

1
SELECT 
     .... 
    FROM contacts as co 
    JOIN clients as cl 
    ON co.contact_client = cl.client_oldid 
    -- this starts a where clause 
    WHERE cl.client_status = 2 
    -- ORDER BY ends a WHERE clause, and goes only for ordering: 
    order by 
    cl.client_name 
    AND LENGTH(co.contact_email) > 0 -- so, order by result of this 0 or 1 
    AND co.contact_email is not null -- then, order by result of this 0 or 1 
    AND TRIM(co.contact_EMAIL) <> ' -- then, order by result of this 0 or 1 
+0

...这是人们应该正确格式化查询的原因之一... – Wrikken 2013-03-07 22:47:48

+0

嗯,我不觉得羞怯。感谢大家。 – Mailman 2013-03-07 22:51:31

相关问题