Mysql查询条件与Date不等于'0000-00-00'

时间:2016-11-22 09:22:00

标签: mysql

我试图编写一个mysql查询,其中where条件是(WHERE date!='0000-00-00')。但是查询没有正确执行。

public class Project {
    public int Id {get;set;}
    public string Name {get;set;}        
}

public class TimeEntry
{
    public int Id {get;set;}
    public DateTime Date {get;set;}
    public int DurationMinutes {get;set;}
    public int ProjectId {get;set;}
    public Project Project {get;set;}        
}

public class Employee {
    public int Id {get;set;}
    public string Name {get;set;}
    public List<TimeEntry> TimeEntries {get;set;}
}

3 个答案:

答案 0 :(得分:5)

第一个施法日期为char。然后试试。

WHERE CAST(`date` AS CHAR(10)) != '0000-00-00'

OR

WHERE `date` != 0

OR

WHERE UNIX_TIMESTAMP(`date`) != 0

OR

WHERE `date` IS NOT NULL

OR

WHERE YEAR(`date`)=0

答案 1 :(得分:1)

在mysql中使用UNIX_TIMESTAMP,如下所示:

SELECT * FROM `tbl_name` WHERE UNIX_TIMESTAMP(date) != 0

日期是您的列名..

这可能对你有帮助......

答案 2 :(得分:0)

在某些情况下,mysql将0000-00-00解释为NULL值。你能尝试选择

吗?
WHERE `date` IS NOT NULL