我有一个MYSQL数据库,为特定用户存储数据。数据库还记录用户插入数据的日期和时间。我想查询并检查用户是否未插入以前日期的任何数据。即,我想知道用户是否在特定日期没有插入任何数据并获得没有插入数据的日期。是否可以以这种方式获取日期?我正在尝试以下查询,但它无法正常工作。
SELECT date from employee_details where date < NOW() && date IS NULL;
答案 0 :(得分:0)
您确实在寻找此日期之前的日期 AND 日期尚未填写,因此该代码无效。您可能希望将date IS NULL
替换为empty_data_column IS NULL
,如果这是您想要的
答案 1 :(得分:0)
如果employee_details中没有给定日期的数据(即用户在给定日期没有做任何事情),您的查询将不会返回任何内容。
您可以创建一个单独的表,其中只包含日期,并使用它来执行外部联接以确定给定日是否不存在用户数据。
答案 2 :(得分:0)
<强>解决方案:强>
select * FROM employee_details WHERE date <= CURDATE() OR date is null;
这意味着:
select *
(选择所有内容)
from employee_details
(来自table_name)
where date <= CURDATE() OR date is null;
(日期与实际日期相差或相同 或 日期为空)
注意:强>
如果您希望同时两个条件, 替换或使用 。
CURDATE()返回当前时间的DATE部分。 Manual on CURDATE()
NOW()以各种格式返回日期和时间部分作为时间戳,具体取决于请求的方式。 Manual on NOW()