在Sql Server LIKE查询中需要转义哪些字符

时间:2017-11-22 14:23:17

标签: c# sql-server sql-parametrized-query

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

确实我正在使用parametrized queries,但它没有解决LIKE案例,因为例如搜索_将意味着“任何字符”。

逃避此类模式时必须考虑的字符集是什么?可以提供C#功能来安全逃脱吗?

2 个答案:

答案 0 :(得分:3)

%,_,[,]和^需要转义,您需要选择一个合适的转义字符,即您在LIKE模式中未使用的转义字符。

此处的完整说明LIKE (Transact-SQL)

我确信你可以在C#中编写一个函数来做到这一点。

答案 1 :(得分:0)

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

How to use wildcards in SQL query with parameters

请使用SQLParameter

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

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