使用条件在T-SQL中进行SELECT

时间:2014-09-11 03:13:49

标签: sql sql-server tsql

我只使用SELECT进行大查询,我需要使用条件子句WHERE对其进行过滤。 像这样:

if (mycondition)

    set @strwhere='conditionalexpression_1'
else

    set @strwhere='conditionalexpression_2'

..然后我想在@strwhere中使用WHERE,如下所示:

SELECT col1, col2, col3 ............
 from tablex where @strwhere

有什么办法吗?我试过但......没有什么工作正常!

1 个答案:

答案 0 :(得分:1)

这样做,首先构建完整查询并执行。

SET@SQLQuery='SELECT col1, col2, col3 from tablex where '
If (mycondition)

    set @SQLQuery=@SQLQuery + 'conditionalexpression_1'
else

    set @SQLQuery=@SQLQuery + 'conditionalexpression_2'

EXECUTE(@SQLQuery)