mysql - 无论年份如何,在mysql中选择两个日期之间的数据

标签 mysql date

我需要选择两个给定日期(例如,11 月 10 日和 1 月 25 日)之间的所有条目,而不考虑年份。

如果只是 1 月 25 日和 11 月 10 日会容易得多。但是我将如何构建我的查询以查找 11 月 10 日和 1 月 25 日之间的所有数据?

最佳答案

您可以使用 MySQL 的 DAYOFYEAR()功能:

DAYOFYEAR(field) BETWEEN DAYOFYEAR(A) AND DAYOFYEAR(B)

如果 DAYOFYEAR(A)>DAYOFYEAR(B) 那么您的应用程序需要将 BETWEEN 替换为 NOT BETWEEN 或者交换顺序论据。如果您需要在 SQL 中执行此操作:

DAYOFYEAR(field) BETWEEN
   LEAST(DAYOFYEAR(A), DAYOFYEAR(B)) AND GREATEST(DAYOFYEAR(A), DAYOFYEAR(B))

注意闰年,因为 DAYOFYEAR()功能将考虑这些

关于mysql - 无论年份如何,在mysql中选择两个日期之间的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11228276/

相关文章:

javascript - 如何控制 Bootstrap 表上的按钮操作

MySQL,将 Latin1 迁移到 UTF8 后,LIKE 搜索不再起作用。尝试了所有 UTF8 排序规则

mysql - 嵌套 SELECT 查找最高值,如果未找到则显示 0

java - 在 map 中存储带有日期的对象组

javascript - 如何从公元第一年的 Javascript 字符串日期创建日期对象?

mysql - SQL查询之前只有一位客户购买过该产品的产品信息

mysql - 分组 MySQL 数据

ios - 从日期范围创建日期字符串数组

ruby-on-rails - 在 Ruby/Rails 中生成介于 2 个日期之间的商业周列表

date - 如何在 Google 上识别特定日期的内容