0
我正在使用动态查询,如果参数值为false,需要向查询添加列。根据参数值将条件添加到条件SQL
// SQL:
SET @FilterExp = 'SELECT * from tblName where ptblnFlag = '+Convert(varchar(2),@blnFlag)+') as tbl where 1=1'+ COALESCE(NULLIF(CONVERT(varchar(8000), @FilterExp),''), '')
在上述查询我需要检查@blnFlag
是假,则列可以在其中条件加入。如果属实,则不需要在那里。
如果条件为false,它应该返回所有值,如果为true,则结果集基于条件。
它,我已经最小化,以获得更好的理解一些大的查询。 – iamCR
@SanthoshKumar好的,无论我的答案是否有帮助。如果不是,那么改变这个问题。不要使用有问题的动态sql。就像if'@blnFlag = 0'那样,如果'@blnFlag <> 0'选择查询应该像'select * from ...'那么select查询应该像'select * from ...' –
您的逻辑工作。我有几个子查询和更复杂的条件,这就是为什么我提到'动态查询'。谢谢你的时间。 – iamCR