数据库中包含字符串判断
数据如下第一个记录集
bid
----------
,1,2,3,4,7,
第二个记录集
cid
----
1,3
我现在需要判断cid有字符在bid中,如何写sql语句?
--------------------编程问答-------------------- declare @bid varchar(50)
set @bid='1,2,3,4,7'
declare @cid varchar(50)
set @cid='1,4'
if charindex(@cid,@bid)=0
print '没有指定字符串'
else
print '指定字符串'+@cid+'在'+@bid+'中的位置是'+cast(charindex(@cid,@bid) as varchar(10)) --------------------编程问答-------------------- 我现在需要判断cid有字符在bid中,如何写sql语句?
---------------------------------------
如果判断bid中有字符cid可以这样
charindex(','+@cid+',',@bid)>0
说明存在 --------------------编程问答-------------------- cid是固定两个数字吗? --------------------编程问答-------------------- charindex()>0 --------------------编程问答-------------------- 如果是cid为一个数字或两个数字的话可以用这个语句实现.
--t1为bid那个表--------------------编程问答-------------------- 看来是我没说去清楚吧,用charindex是不行的
--t2为cid那个表
select * from t1, t2 where
bid like '%,' + replace(cid, ',', ',%,') + ',%'
or bid like '%,' + cid + ',%'
bid 和 cid 都是不固定的。
bid
----------
1,25,3,4,7,
cid
----
1,3
例如看cid的1和3其中一个在bid中,就是要写个函数判断cid字符串中有无一个字符在bid中
就与数组一样的,看来得写函数啊,单写个sql语句好像很难搞
--------------------编程问答-------------------- 要写函数或存储过程的 --------------------编程问答-------------------- 写循环逐个比较
补充:.NET技术 , ASP.NET