gpt4 book ai didi

php - 是否有 sql 表示法可以区分月份之间的检查?

转载 作者:行者123 更新时间:2023-11-29 02:38:07 25 4
gpt4 key购买 nike

我将重复发生的事件存储在事件表中,这些事件发生在一年中的某些月份、任何一年和每年。例如;

CREATE TABLE events ( 
event_id tinyint(3) unsigned NOT NULL auto_increment,
name varchar(255) NOT NULL,
month_from tinyint(3) unsigned NOT NULL,
month_to tinyint(3) unsigned NOT NULL,
PRIMARY KEY (event_id) )
ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3;

INSERT INTO events
(event_id, name, month_from, month_to)
VALUES
(1, 'Event ABC', 5, 11), (2, 'Event XYZ', 12, 4);

事件 ABC - 每年 5 月至 11 月和事件 XYZ - 每年 12 月至 4 月期间发生

在我的事件表中,我将 month_frommonth_to 存储为数值。

我想要做的是说获取当前月份(10 月)并将其传递到 sql 查询中,以便它返回给我正确的事件“事件 ABC”。但我也想传递给它一个 future 的月份,比如 2 月,它应该返回给我“Event XYZ”

我希望这是有道理的?

最佳答案

select * from tbl
where (month_from <= $YOUR_MONTH and month_to >= $YOUR_MONTH) or
(month_from > month_to and (month_to >= $YOUR_MONTH or month_from <= $YOUR_MONTH)

这也适用于 DEC-APR 范围

关于php - 是否有 sql 表示法可以区分月份之间的检查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1602234/

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