MySQL不正确日期时间值2005

时间:2017-10-02 03:56:29

标签: php mysql date datetime

我有一个网络应用程序,可以收集朋友的简单民意调查数据。我想运行一个SELECT查询,根据他们运行的日期和月份对投票进行投票来获取名称。

所以这是我的疑问:

SELECT * FROM tbl_votedata 
WHERE votersname = "Jack Ryan" 
AND targetname = "Bill Murray"
AND votetype = "Friends" 
AND MONTH(timestamp) = MONTH(2017-10-02) 
AND YEAR(timestamp) = YEAR(2017-10-02)

不幸的是,当我运行它时,它会返回这样的错误(我使用的是HeidiSQL):

enter image description here

没有MySQL日期时间值是' YYYY-MM-DD HH:MM:S'?那么,它应该运行正常吗?由于我的查询仅选择年份和月份...

那究竟是什么问题?

1 个答案:

答案 0 :(得分:1)

应引用日期常量,如下所示:

SELECT *
FROM tbl_votedata 
WHERE votersname = 'Jack Ryan'
  AND targetname = 'Bill Murray'
  AND votetype = 'Friends'
  AND MONTH(timestamp) = MONTH('2017-10-02') 
  AND YEAR(timestamp) = YEAR('2017-10-02')

正在评估20107 - 10 - 2表达式并将结果用作函数的参数,这不是正确的数据类型...