3

SQL 服务器查询中的 LIKE 运算符对于匹配自定义模式非常有用。然而,有时需要从模式中转义一些字符或子字符串,例如&符号'%',下划线'_',方括号'['和']'等。

事实上,我正在使用参数化查询,但它不能解决 LIKE 案例,因为例如搜索_意味着“任何字符”。

在转义此类模式时必须考虑的字符集是什么?是否可以提供 C# 函数来执行安全转义?

4

2 回答 2

3

%、_、[、] 和 ^ 需要转义,并且您需要选择一个合适的转义字符,即您没有在 LIKE 模式的其他地方使用的转义字符。

此处的完整描述LIKE (Transact-SQL)

我相信你可以用 C# 编写一个函数来做到这一点。

于 2017-11-22T14:28:09.617 回答
-1

在此处查看现有的 stackoverflow 答案...

如何在带参数的 SQL 查询中使用通配符

一定要使用 SQLParameter

不要使用 stringbuilder 或将字符串添加在一起

除非您了解 SQL 注入攻击 https://en.wikipedia.org/wiki/SQL_injection

于 2017-11-22T14:30:33.400 回答