我需要选择两个给定日期(例如,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/