jaj*_*aja 11 sql linq sql-server-2008-r2
我有一张桌子,上面列有国家名单.说其中一个国家是'马其顿'
如果搜索"马其顿共和国",SQL查询将返回"马其顿"记录?
我相信在linq中会有类似的东西
var countryToSearch = "Republic of Macedonia";
var result = from c in Countries
where countryToSearch.Contains(c.cName)
select c;
Run Code Online (Sandbox Code Playgroud)
现在上面的查询的SQL等价物是什么?
如果它是相反的方式(即数据库存储了国家名称的长版本),下面的查询应该工作:
Select * from country
where country.Name LIKE (*Macedonia*)
Run Code Online (Sandbox Code Playgroud)
但我不知道如何扭转它.
附注:表中的国家/地区名称始终是国家/地区名称的简短版本
你可以用CHARINDEX它.
Select * from country
where CHARINDEX(country.Name, 'Republic of Macedonia') > 0
Run Code Online (Sandbox Code Playgroud)
只需反转运算符(并修复语法)
Select * from country
where 'Republic of Macedonia' LIKE CONCAT('%',country.Name,'%')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4640 次 |
| 最近记录: |