我有 2 列,日期和价格。输入将是 2 个不同的日期,我想获取它们之间的日期和价格(仅工作日,无需考虑周末)。如何在 SQL 中进行此查询?我真的不知道,谢谢。
问问题
1612 次
3 回答
5
SELECT date, price
FROM table
WHERE date BETWEEN @start AND @end
AND WEEKDAY(date) < 5
于 2013-10-05T12:45:05.837 回答
0
其中 date_field > @start_date 和 date_field < @end_date
您也可以使用“between”关键字,但我总是忘记它是否包含在内。
就工作日而言,在使用 where 子句中建议的 weekday(date_field) (如 Barmar)时要非常小心,因为它可能会触发该函数在表中的每一行上运行,这将否定您拥有的任何索引。可以使用它,如果我认为上面的过滤器非常严格,那也没关系 - 你必须使用它并查看解释语句。
于 2013-10-05T12:47:22.903 回答
0
它的意义远不止眼前所见。确实,您每年都需要一个日历表来显示工作日并排除周末和公共假期……这当然取决于地区……
于 2013-10-07T09:00:39.930 回答