首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于参数值SQL向条件添加列

基于参数值SQL向条件添加列
EN

Stack Overflow用户
提问于 2016-08-24 05:39:52
回答 1查看 509关注 0票数 0

在动态查询中,如果参数值为false,则需要向查询中添加列。

//SQL:

代码语言:javascript
复制
SET @FilterExp = 'SELECT * from tblName where ptblnFlag = '+Convert(varchar(2),@blnFlag)+') as tbl where 1=1'+ COALESCE(NULLIF( CONVERT(varchar(8000), @FilterExp),''), '')

在上面的查询中,我需要检查@blnFlag是否为false,然后可以在where条件下添加该列。如果是真的,就不需要出现在那里。

例如,如果条件为false,则应返回所有值,如果为true,则结果集基于该条件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-24 05:49:55

你只需要AND/OR操作符--这里不需要Dynamic query

代码语言:javascript
复制
SELECT *
FROM   tblName
WHERE  ( ptblnFlag = @blnFlag
         AND @blnFlag = 0 )
        OR @blnFlag = 1 

变量名可能是错误的,但逻辑是相同的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39115213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档