读书人

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

发布时间: 2013-12-21 20:16:01 作者: rapoo

请问如何实现批量模糊匹配呢?
例如我有一个字符串集合,里面放“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


请你看清楚我的程序。

读书人网 >.NET

热点推荐