【问题标题】:BETWEEN Operator mySQL PHPBETWEEN 运算符 mySQL PHP
【发布时间】:2015-09-14 15:06:01
【问题描述】:

全部,

不知道为什么我在运行以下查询时收到错误:

SELECT COUNT(R.id) AS total 
                    FROM request as R 
                    INNER JOIN users AS U ON U.uin = R.engineer_uin 
                    WHERE U.gm = 'BVG1'
                    AND R.date_received BETWEEN DATE_FORMAT(R.date_received,'%d %m %Y')='01 04 2014' AND DATE_FORMAT(NOW(),'%d %m %Y')

R.date_received 格式如下:2015-06-01 14:38:46 我只是想得到 Now() 和上一年之间的结果。 (在英国,我们在 4 月到明年 4 月之间有财政年度。

错误是:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '='01 04 2014' AND DATE_FORMAT(NOW(),'%d %m %Y')
LIMIT 0, 25' at line 5 

有什么想法吗?

【问题讨论】:

  • 我投票决定将此问题作为题外话结束,因为 OP 不愿意阅读。错误消息从字面上告诉您要修复什么。
  • 有什么想法吗? 是的,You have an error in your SQL syntax; check the manual

标签: php mysql date between


【解决方案1】:

您要查找的 AND 子句应如下所示:

...
AND R.date_received BETWEEN STR_TO_DATE('01,04,2014','%d,%m,%Y') AND NOW()

【讨论】:

  • 谢谢@uri2x 这解决了问题SELECT COUNT(R.id) AS total FROM request as R INNER JOIN users AS U ON U.uin = R.engineer_uin WHERE U.gm = 'BVG1' AND R.date_received BETWEEN STR_TO_DATE('01-04-2014','%d-%m-%Y') AND NOW()
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-03
  • 2013-05-28
相关资源
最近更新 更多