我有一个网络应用程序,可以收集朋友的简单民意调查数据。我想运行一个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):
没有MySQL日期时间值是' YYYY-MM-DD HH:MM:S'?那么,它应该运行正常吗?由于我的查询仅选择年份和月份...
那究竟是什么问题?
答案 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
表达式并将结果用作函数的参数,这不是正确的数据类型...