首页 新闻 赞助 找找看

怎么比较数据记录字符串?

0
悬赏园豆:10 [已解决问题] 解决于 2010-11-09 13:59

如一个表A一个类型字段记录为5XFZ-25

表B中类型字段记录为5XFZ-25、5XFZ-80、5BC2412  怎么判断B包含A的。

B中的类型都是以顿号隔开的字符串。怎么比较?

孤星赏月的主页 孤星赏月 | 初学一级 | 园豆:125
提问于:2010-11-09 00:22
< >
分享
最佳答案
0

判断 B.IndexOf(A)>=0 即可。

收获园豆:10
HUHU慈悲 | 大侠五级 |园豆:9973 | 2010-11-09 08:34
like%'远远'% | 园豆:635 (小虾三级) | 2010-11-09 08:48
其他回答(3)
0

 B.Contains(A)应该可以吧?

ringgo | 园豆:207 (菜鸟二级) | 2010-11-09 08:41
0

CHARINDEX:返回字符或者字符串在另一个字符串中的起始位置。

CHARINDEX函数调用方法如下:
       CHARINDEX ( expression1 , expression2 [ , start_location ] )

       Expression1是要到expression2中寻找的字符中,start_location是CHARINDEX函数开始在expression2中找expression1的位置。

       CHARINDEX函数返回一个整数,返回的整数是要找的字符串在被找的字符串中的位置。假如CHARINDEX没有找到要找的字符串,那么函数整数“0”。

邢少 | 园豆:10926 (专家六级) | 2010-11-09 08:58
0

IF NOT OBJECT_ID('[t_DemoA]') IS NULL
DROP TABLE [t_DemoA]
GO
CREATE TABLE [t_DemoA]
(
[ID] int identity(1,1) primary key not null,
[Cate] nvarchar(255) null
)
go

IF NOT OBJECT_ID('[t_DemoB]') IS NULL
DROP TABLE [t_DemoB]
GO
CREATE TABLE [t_DemoB]
(
[ID] int identity(1,1) primary key not null,
[Cate] nvarchar(255) null
)
go

insert into t_DemoA
SELECT '5XFZ-28' union all
SELECT '5XFZ-27' union all
SELECT '5XFZ-80'
go


insert into t_DemoB
SELECT '5XFZ-25、5XFZ-80、5BC2412' union all
SELECT '5XFZ-23、5XFZ-80、5BC2412' union all
SELECT '5XFZ-28'
go

select * from t_DemoB B inner join t_DemoA A
on charindex(A.Cate+'',B.Cate)>0
or charindex(''+A.Cate,B.Cate)>0
or charindex(A.Cate,B.Cate)>0

 

邀月 | 园豆:25475 (高人七级) | 2010-11-09 09:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册