Mysql 无法获取查询的结果

Mysql 无法获取查询的结果,mysql,sql,Mysql,Sql,我是SQL的新手。 我有这个疑问 我不知道我哪里做错了。 你们能帮帮我吗? 谢谢。三个错误: 你需要单引号 MySql预计有两位数的月份 2015-09-30结束日期包含时间成分的隐含午夜,不包括一天中的大部分时间 把它们放在一起,你会得到: SELECT * FROM results WHERE played_on BETWEEN '2015-09-01' AND '2015-10-01'; 在这里,我更喜欢避免在之间使用,而是使用显式边界。总有可能有人在10月1日午夜编写游戏代码: SE

我是SQL的新手。 我有这个疑问

我不知道我哪里做错了。 你们能帮帮我吗? 谢谢。

三个错误:

  • 你需要单引号
  • MySql预计有两位数的月份
  • 2015-09-30
    结束日期包含时间成分的隐含午夜,不包括一天中的大部分时间
  • 把它们放在一起,你会得到:

    SELECT * FROM results WHERE played_on BETWEEN '2015-09-01' AND '2015-10-01';
    
    在这里,我更喜欢避免在之间使用
    ,而是使用显式边界。总有可能有人在10月1日午夜编写游戏代码:

    SELECT * FROM results WHERE played_on >= '2015-09-01' AND played_on < '2015-10-01';
    
    从“2015-09-01”和“2015-10-01”播放的结果中选择*;
    
    如果我可以从你的帖子中复制/粘贴查询文本,而不必重新键入,你会更快得到这个答案。在这里发布示例数据或代码的图像而不是文本被认为是非常粗鲁的。

    我认为您可以使用MONTH()和YEAR()来进行此查询:

    SELECT * FROM results WHERE MONTH(played_on) = 9 AND YEAR(played_on) = 2015
    

    我希望这个答案能对你有所帮助。

    应该是单身quote@maSTAShuFu试过了,但没用。谢谢Joel,成功了。那么单引号对数字有效吗。。?为什么不在这里使用双引号呢?日期文字不被视为数字。ansi标准为列标识符保留了双引号。这将起作用,但它不可用(不适用于索引)。唯一较慢的方法是通过字符串解析。