SQL server 中多条件组合查询

请问各位大神,有三个条件a,b,c,如何在sql语句中判断当前选中的查询内容并查询输出,如果查询条件未选中,不把该条件当成查询条件。是不是只能前台判断通过sql语句拼接,... 请问各位大神,有三个条件a,b,c,如何在sql语句中判断当前选中的查询内容并查询输出,如果查询条件未选中,不把该条件当成查询条件。
是不是只能前台判断通过sql语句拼接,不能直接通过sql语句来where(a=‘’ or a=) and (b='' or b=) and (c='' pr c=)什么的来实现?
分数不多请见谅,没分了
展开
 我来答
SQL的艺术
推荐于2017-09-07 · SQL写多了就会在追求极致
SQL的艺术
采纳数:2040 获赞数:3323

向TA提问 私信TA
展开全部

因为你没说a,b,c的数据类型,我就替你假设一下

a:数字类型 默认值为null

b:字符类型 默认值为字符串空''

c:日期类型 默认值为null

那么语句如下:

select
    *
from
    table1
where
    col1=isnull(a,col1)
    and col2 like '%b%'
    and col3>=isnull(c,col3)
追问
你好,isnull()这个函数可以满足为空不作为一个查询条件嘛?因为我的数据查询中a是int型,如果为空联合查询查不到结果,而且a为主键,不好给它一个默认值。不好意思,刚刚没说清
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式