【发布时间】:2019-03-23 01:58:34
【问题描述】:
我想根据周数在 MySql 中执行查询。我找到的函数 ('WEEK()') 为我提供了某个日期的周数。但是,我想使用周数作为日期范围,如下所示:
SELECT *
FROM x
WHERE price > 1
AND start_date_column between (start week 41 and end week 41)
有谁知道我可以用来完成此任务的功能吗?
【问题讨论】:
我想根据周数在 MySql 中执行查询。我找到的函数 ('WEEK()') 为我提供了某个日期的周数。但是,我想使用周数作为日期范围,如下所示:
SELECT *
FROM x
WHERE price > 1
AND start_date_column between (start week 41 and end week 41)
有谁知道我可以用来完成此任务的功能吗?
【问题讨论】:
还有WeekofYear() 功能。它以 1 到 53 范围内的数字形式返回日期的日历周。在此函数中,星期日被视为一周的开始日。例如:
SELECT WeekofYear('2018-10-18'); -- returns 42
您可以使用上述功能执行以下操作:
SELECT *
FROM x
WHERE price > 1
AND WeekofYear(start_date) = 41
即使Week() 函数也可以以类似的方式工作:
SELECT *
FROM x
WHERE price > 1
AND Week(start_date) = 41
【讨论】:
between。请检查更新答案