SQL Server 查询时 like 特殊字符转义

作者:vkvi 来源:ITPOW(原创) 日期:2012-6-16

SQL Server 用 like 查询时,可用 % 代表任意个数的字符,用 _ 代表一个字符。可是要想让这两个字符作为普通字符怎么做呢?

用 [] 括起来,比如:

  • title like '%[%]%' 查找 title 中包含 % 的。

  • title like '[_]%' 查找 title 以 _ 开头的。

问题又来了,要查找含 [ 或 ] 的怎么做呢?

也用 [] 括起来,比如:

  • title like '%[[]' 查找 title 以 [ 结尾的。

  • ] 不需要转义,直接用。

综合一下

Replace("'", "''").Replace("[", "[[]").Replace("%", "[%]").Replace("_", "[_]")

某些数据库中,使用的 \ 作为 like 转义字符,SQL Server 可以用 \ 转义吗?

不行!SQL Server like 中的 \ 是普通字符。

相关文章