我有一堆 SQL 选择, 收集用于导出和分析的数据。 我已声明了在几个变量中收集数据的日期范围, 并运行查询, 有10个选择的总和使用相同的日期范围变量。 我想做的是很容易地将某些日期( 它们是单日, 而不是一个范围) 从使用某种排除列表的查询中排除, 我可以在一个变量中声明, 所以所有选择都删除了这些特定日期, 而不是编辑每一个选择的语句 。
DECLARE @date_start DATETIME, @date_end DATETIME
SET @date_start = 2011-10-20 00:00:00
SET @date_end = 2012-05-18 23:59:59
SELECT
date, col1, col2, col3
FROM
table1
WHERE
date BETWEEN CONVERT(DATETIME, @date_start, 102) AND CONVERT(DATETIME, @date_end, 102)
SELECT
date, col4, col5, col8
FROM
table2
WHERE
date BETWEEN CONVERT(DATETIME, @date_start, 102) AND CONVERT(DATETIME, @date_end, 102)
SELECT
date, col3, col5, col6, col7, col8
FROM
table3
WHERE
date BETWEEN CONVERT(DATETIME, @date_start, 102) AND CONVERT(DATETIME, @date_end, 102)