php - MySql 查询在 where 子句中返回错误值

标签 php mysql sql date recordset

使用以下查询,我只需要显示“02”月份标记为“2014”的记录:

SELECT DISTINCT 
 c.sno,
 c.cCode,
 c.caseNumber,
 c.dateOriginalInstitution,
 c.date_remanded,
 c.plaintiff,
 c.respondant 
FROM
  cases c,
  chronologicallists ch 
WHERE (
 (YEAR(dateOriginalInstitution) = '2014' AND MONTH(dateOriginalInstitution) = '02') 
 OR 
 (YEAR(dateOfTransferInstituion) = '2014' AND MONTH(dateOfTransferInstituion) = '02') 
 OR 
 (YEAR(date_restored) = '2014' AND MONTH(date_restored) = '02')
) 
AND c.inTheCourt = '578' AND c.sno = ch.caseSno 

enter image description here

我在结果集中仍然得到 2011 和 2012?

请帮我解决这个问题。

最佳答案

这是因为您的OR 条件。

您可能在 dateOfTransferInstituiondate_restored 列中将 year 值设置为 2014,但在 >dateOriginalInstitution

关于php - MySql 查询在 where 子句中返回错误值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21983657/

相关文章:

PHP 警告 DOMDocument::loadHTML():第 10 行实体中的标记部分无效

mysql - Codeigniter:无法按降序显示结果和计数

php - Magento 上无法连接到本地 MySQL 服务器错误

mysql - sql查询合并列

sql - 创建基本 sql 表时出错

php - 无法选择 ip=inet_pton($ip)

PHP 用户权限 - 最佳实践?

sql - 如何在 metamug XML 中使用小于 < 和大于 > 符号

php - Intval 的意外行为

mysql 查询在 3 个表中具有多个左连接?