首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

请教怎么实现批量模糊匹配呢

2013-12-21 
请问如何实现批量模糊匹配呢?例如我有一个字符串集合,里面放“appl”“ear”“bana”,那么如何才能将表中的“appl

请问如何实现批量模糊匹配呢?
例如我有一个字符串集合,里面放“appl”“ear”“bana”,那么如何才能将表中的“apple”、“pear”和“banana”都搜出来?因为这只是多个条件中的一个,能不用union么? linq
[解决办法]

var query=from x in db.usrs
          where new string[]{"apple","ear","bana"}.Contains(x.Name)
          select x;

转换成sql就是 
select * from users where name in ('apple','ear','bana')

[解决办法]
var query=from x in db.users
          where new string[]{"apple","ear","bana"}.Any(y => x.Name.Contains(y))
          select x;

[解决办法]

--模湖查询
select * 
from tb
where CHARINDEX('apple',COL)>0 or CHARINDEX('pear',COL)>0 or CHARINDEX('banana',COL)>0
或者
select * 
from tb
where COL like '%apple%' or COL like '%pear%' or COL like '%banana%'




[解决办法]
引用:
Quote: 引用:

var query=from x in db.users
          where new string[]{"apple","ear","bana"}.Any(y => x.Name.Contains(y))
          select x;


any之前试过是会报错的,只能用Contains


怎么可能报错。
[解决办法]
引用:
Quote: 引用:


--模湖查询
select * 
from tb
where CHARINDEX('apple',COL)>0 or CHARINDEX('pear',COL)>0 or CHARINDEX('banana',COL)>0
或者
select * 
from tb
where COL like '%apple%' or COL like '%pear%' or COL like '%banana%'




谢谢,第二句和二楼的一样,那么第一句转成linq用什么写法呢?字符串集合在linq语句里只能用Contains


请你看清楚我的程序。

热点排行