当前位置:编程学习 > C#/ASP.NET >>

数据库中包含字符串判断

数据如下
第一个记录集
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那个表
--t2为cid那个表
select * from t1, t2 where
bid like '%,' + replace(cid, ',', ',%,') + ',%'
or bid like '%,' + cid + ',%'
--------------------编程问答-------------------- 看来是我没说去清楚吧,用charindex是不行的
bid 和 cid 都是不固定的。

bid 
---------- 
1,25,3,4,7, 

cid 
---- 
1,3 

例如看cid的1和3其中一个在bid中,就是要写个函数判断cid字符串中有无一个字符在bid中
就与数组一样的,看来得写函数啊,单写个sql语句好像很难搞
--------------------编程问答-------------------- 要写函数或存储过程的 --------------------编程问答-------------------- 写循环逐个比较
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,