2013-12-10 106 views
2

我在编写SQL select语句中的条件符合上述条件时遇到了一些麻烦。有什么建议?连接linq查询的等效T-SQL select查询是什么?

AllCompany = AllCompany 
.Where(company =>fldSector 
.Contains(company["Sectors"].Replace("|", ","))).ToList(); 

enter image description here

+0

那将会有表现不佳,因为SQL服务器不能够有效地与领先的通配符搜索。考虑规范你的数据(可能是一个适合项目和部门之间的表)。 –

回答

1

在SQL服务器的一个REPLACE()功能,它可能是这样的,如果你对你的表做updating

UPDATE tableName 
SET sectors = REPLACE(sectors,'|',','); 

Fiddle Demo

或者,如果你想简单地SELECT,您可以使用PATINDEX()

SELECT sectors 
FROM tableName 
WHERE PATINDEX('%|%',sectors) > 0 

Fiddle Demo with PATINDEX