(MySql)select查询返回WHERE和AND条件中的空行

时间:2015-02-14 03:12:11

标签: mysql sql

我有两个相关的表,一对多的关系。我可以在条件

的选定列上显示值

enter image description here

在上面的查询中添加'AND'子句的正确方法是什么?我尝试了这个查询,但结果是空集。

enter image description here

2 个答案:

答案 0 :(得分:4)

date_created中的值都包含时间组件08:00:00。但是,您将其与等于'2014-03-13'的日期值2014-03-12 00:00:00进行比较,因此 等于2014-03-12 08:00:00

要按照您尝试的方式进行比较,您需要将date_created中的值仅截断为日期部分,从而删除MySQL native DATE() function的时间。

SELECT date_created 
FROM collections
WHERE 
  -- Truncate the datetime to a date only
  DATE(date_created) = '2014-03-12'
  AND loan_id = 3942

上面的示例是您的第一次查询尝试,但使用JOIN需要WHERE子句中的相同解决方案。

答案 1 :(得分:0)

我找到了解决问题的方法。我将查询更改为

SELECT 
      date_created 
FROM collections 
WHERE DATE(date_created) = '2014-03-12' AND loan_id = 3942;

现在它返回具有特定日期的行。