自己总结的不定条件SQL查询语句的写法

本文介绍了一种灵活使用SQL查询的方法,通过将等号条件替换为LIKE条件,并利用通配符%来实现不定数量的查询条件,使得一条SQL语句能够适应不同场景的需求。

  我说的不定条件是指查询条件的个数不定。有时一个,有时两个,有时好几个。

首先我发现

select * from A where a='kkk' 与

select * from A where a like 'kkk'

其实效果是一样,只要 like 后面的字符串不包含通配符。这样一来就很方便了。譬如有

select * from A where a='KKK' and b='LLL'

有两个查询条件,但有时候又只需要第一个或者第二个条件,又不想写好几条SQL语句。这时就可以先把SQL参数化

select * from A where a like @a and b like @b

把等于号替换成 like

 

然后给参数a赋值,有两种选择, 要么是%,要么是不包含通配符的任何字符串。参数b的赋值同理。

 

假如给参数a赋值为%,参数b赋值为字符串'LLL',那么实际SQL语句为

 

select * from A where a like '%' and b like 'LLL'  相当于

 

select * from A where b='LLL',只使用了一个条件。

这个只适用于包含字符串的参数的情况。至于非字符串的情况,我还没有考虑到。在VB2008中可以这么用。别的没试过。

也许有人早已知道,或许我说的不对,欢迎指教。

 

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值