基本上,我想在SQL SELECT语句中选择两个版本的WHERE子句中的一个,而不必复制整个SELECT语句的两个版本。
例如,我想指定一个像@topclients这样的变量, 并在@topclients ='true'时执行以下WHERE子句:
WHERE
CAST(event_dtm AS DATE) between @start and @end
and client IN ('client1','client2', 'client3')
或@topclients ='false'时执行以下WHERE子句:
WHERE
CAST(event_dtm AS DATE) between @start and @end
我该怎么做?
答案 0 :(得分:2)
只需使用:
WHERE
CAST(event_dtm AS DATE) between @start and @end
and (
client IN ('client1','client2', 'client3')
or @topclients = 'false'
)