我试图编写一个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;}
}
答案 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