gpt4 book ai didi

mysql - 在数据库中选择日期范围(月/年)

转载 作者:可可西里 更新时间:2023-11-01 07:48:59 24 4
gpt4 key购买 nike

我有一个关于在 MySQL 中选择日期范围的快速问题,格式如下 YYYY-MM-DD

我读了MySQL select date range issue并了解它的基本用法,但我怎样才能“包括”例如 2 月 29 日?我想避免使用 PHP 解决方法,MySQL 中是否有类似的方法?

不太明白http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_str-to-date

谁能举例说明如何从 2 月选择去年的数据?

最佳答案

当您指定月份时,MYSQL 引擎足够智能,可以获取一个月的正确天数(无论是否为闰年)并相应地评估您的日期字段。

获取您选择的两个日期之间的数据:(使用 interval -1 year 从今天返回一年)

SELECT * FROM yourtable 
WHERE yourdate BETWEEN DATE_ADD(Now(), Interval -1 YEAR)
AND Now()
AND MONTH(yourdate) = 2 -- to get data for Month of February
;

或者您可以简单地使用 YEAR 函数编写而不使用 BETWEEN

SELECT * FROM yourtable 
WHERE YEAR(yourdate) = YEAR(Now()) - 1
AND MONTH(yourdate) = 2 -- to get data for Month of February
;

关于Str_to_Date的问题该函数用于将包含日期的字符串转换为具有所需格式的日期类型,它是 DATE_FORMAT 函数的反函数。

SELECT STR_TO_DATE('12-Apr-2012', '%d-%M-%Y')
FROM DUAL
;

请注意,在上面的演示中,您必须以要添加到 STR_TO_DATE 函数中的格式指定日、月、年排列。

PS:问题中没有显示相同的数据和预期结果,您真正想在这里实现的目标相当模糊。:)

关于mysql - 在数据库中选择日期范围(月/年),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14495417/

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