我有一个表,它有以下值(为了简洁而减少)
周期 | 从 | 周期表 | 周期表 | 周期表 | 周期表 | 周期表 | 周期历 | 88 | 2022-01-01就是 | 2022-01-28就是 | JAN-FY2022 | 2022年1月—— |
---|---|---|---|---|---|---|---|
89 | 2022-01-29就是 | 2022-02-25就是 | FEB-FY2022 | 2022年2月—— | |||
90 | 2022-02-26就是 | 2022-04-01就是 | MAR-FY2022 | mar - 2022 | |||
91 | 2022-04-02就是 | 2022-04-29就是 | APR-FY2022 | apr - 2022 | |||
92 | 2022-04-30就是 | 2022-05-27就是 | MAY-FY2022 | 2022年5月—— | |||
93 | 2022-05-28就是 | 2022-07-01就是 | JUN-FY2022 | 2022年6月—— | |||
94 | 2022-07-02就是 | 2022-07-29就是 | JUL-FY2022 | 7 - 2022 | |||
95 | 2022-07-30就是 | 2022-08-26就是 | AUG-FY2022 | 2022年8月—— | |||
96 | 2022-08-27就是 | 2022-09-30就是 | SEP-FY2022 | 9 - 2022 | |||
97 | 2022-10-01就是 | 2022-10-28就是 | OCT-FY2023 | 2022年10月—— |
看起来像是(i)结束日期包含在内(ii)时间部分总是00:00。所以正确且最高效的查询应该是:
where cast(getdate() as date) between Periodfrom and Periodto
例如,当当前时间为2022-01-28 23:59:59.999
时,它将返回第一行。