rks*_*rst 2 c# regex sql linq asp.net
我在数据库中有一个表,其中一列包含http://example.com/users/*/profile 等URL
我得到一个URL(如http://example.com/users/234/profile),并希望选择db中与url匹配的所有行(在本例中为*是通配符).
我正在考虑使用Regex来执行此操作,将*替换为任何字符的正则表达式.但我不确定选择SQL或LINQ代码应该是什么.
你们有什么想法吗?
除非我遗漏了一些明显的东西,否则这应该只需要一个简单的LIKE查询.
SELECT *
FROM YourTable
WHERE URL LIKE 'http://example.com/users/%/'
Run Code Online (Sandbox Code Playgroud)
在SQL查询中,正则表达式过于棘手且棘手.
注意:%字符等同于SQL表达式中的*通配符.
如果要使用LINQ并且仅针对SQL Server,则可以使用以下语法:
var results =
from yt in YourTable
where SqlMethods.Like(yt.URL, "http://example.com/users/%/")
select yt;
Run Code Online (Sandbox Code Playgroud)