如何查询日期和那些null?

时间:2015-11-11 07:47:01

标签: mysql

Select area, book, sequence, accountnumber, name, address, polenumber from master
where newconnectiondate is null
  and newconnectiondate between '1950-01-01' and '2015-10-31'

这是我在mysql中的查询。但这一切都做错了。我想在日期之间使用查询数据,但它不会查询具有空日期的数据,现在我想在日期和空日期之间进行查询

4 个答案:

答案 0 :(得分:0)

我认为这会弄乱你的结果。我认为您需要检查日期之间是否newconnectiondate is null OR。像这样:

where 
    (newconnectiondate IS NULL)
    OR
    (newconnectiondate between '1950-01-01' and '2015-10-31')

答案 1 :(得分:0)

使用 OR 而不是 AND ,使用 AND 会产生矛盾

答案 2 :(得分:0)

cellForRowAtIndexPath

这将始终返回where newconnectiondate is null AND newconnectiondate between '1950-01-01' and '2015-10-31' 。由于empty result-set不能同时为newconnectiondatenull

试试这个。

valid date

答案 3 :(得分:0)

您需要在查询中同时使用 OR AND

SELECT area
    ,book
    ,sequence
    ,accountnumber
    ,NAME
    ,address
    ,polenumber
FROM master
WHERE (newconnectiondate IS NULL) -- FOR NULL DATES
    OR (
        newconnectiondate BETWEEN '1950-01-01'
            AND '2015-10-31'
        ) -- FOR BETWEEN DATES

建议::

在许多商业逻辑中,日期起着重要的作用,最好是对日期进行验证。用户必须根据业务需求输入日期或放置默认日期。