gpt4 book ai didi

mysql - SELECT BETWEEN 日期不适用于一年 - MySQL

转载 作者:行者123 更新时间:2023-11-29 04:39:31 25 4
gpt4 key购买 nike

我正在使用此查询来选择日期之间的数据:

SELECT id, date FROM table WHERE date BETWEEN '09/10/2015' and '09/23/2015';

我得到这些结果:

1   09/11/2015
2 09/13/2015
3 09/16/2015
4 09/21/2015
5 09/21/2015
6 09/21/2015
7 09/22/2015
8 09/23/2015

但是当我将日期更改为一年前时,它没有再次显示所有这些数据,而是返回了忽略年份的结果:

SELECT id, date FROM table WHERE date BETWEEN '09/15/2014' and '09/23/2015';

结果:

3   09/16/2015
4 09/21/2015
5 09/21/2015
6 09/21/2015
7 09/22/2015
8 09/23/2015

我错过了什么?

编辑:

日期列数据类型:varchar。

最佳答案

看起来你在犯罪。 . .将日期值存储为字符串。这不好。 SQL 具有内置的日期数据类型和丰富的函数。

因此,您需要使用 str_to_date() 转换数据:

SELECT id, date
FROM table
WHERE str_to_date(date, '%m/%d/%Y') BETWEEN '2015-09-10' and '2015-09-23';

MySQL 不知道您打算将某个字符串列作为日期,因此所有比较都是作为字符串完成的。您还应该习惯使用 ISO 标准 YYYY-MM-DD 格式来表示日期。

关于mysql - SELECT BETWEEN 日期不适用于一年 - MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32760403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com