查询一个int类型的变量(数字)是否在一个字符串里边(逗号分隔的)以及 sqlif 与case...

declare @id int,@temp nvarchar(100)
set @id=2
set @temp='1,2,3,12,21,51'
if(charindex(','+convert(nvarchar,@id)+',',','+@temp+',')>0)
begin
select
1
end

  

听说sql不善于逻辑的分析

所以用if 效率低  可以用case替换

declare @id int,@temp nvarchar(100)
set @id=2
set @temp='1,2,3,12,21,51'
select
case when (charindex(','+convert(nvarchar,@id)+',',','+@temp+',')>0) then ''
end

  case的用法:http://www.cnblogs.com/ronin/archive/2006/07/20/455388.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值