SQL---LIKE中的‘[’或‘]’
来源:互联网 发布:淘宝清杂款衣服店铺 编辑:程序博客网 时间:2024/06/15 08:46
最近这两天在改公司项目中的BUG,遇到一个问题很奇怪。如下:
<span style="font-size:14px;">SELECT TOP 5 [Name] FROM [tblUt] ORDER BY [Created] DESC</span>
<span style="font-size:14px;">SELECT TOP 5 [Name] FROM [tblUt] <span style="color:#FF0000;"><strong>WHERE [Name]</strong></span> <span style="color:#FF0000;"><strong>LIKE '[</strong>%<strong>'</strong> </span> ORDER BY [Created] DESC(结果为空)<img src="http://img.blog.csdn.net/20150130104035062?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzAyODExMA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /></span>
<span style="font-size:14px;">SELECT TOP 5 [Name] FROM [tblUt] <strong><span style="color:#FF0000;">WHERE [Name]</span></strong> <span style="color:#FF0000;"><strong>LIKE '[[]</strong>%<strong>'</strong></span> ORDER BY [Created] DESC<img src="http://img.blog.csdn.net/20150130104339888?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzAyODExMA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /></span><pre name="code" class="sql"><span style="font-size:14px;">SELECT TOP 5 [Name] FROM [tblUt] <span style="color:#FF0000;"><strong>WHERE [Name]</strong></span> <span style="color:#FF0000;"><strong>LIKE '</strong>%<strong>[]]'</strong></span> ORDER BY [Created] DESC(结果为空)</span>
<span style="font-size:14px;">SELECT TOP 5 [Name] FROM [tblUt] <span style="color:#FF0000;"><strong>WHERE [Name]</strong></span> <span style="color:#FF0000;"><strong>LIKE '</strong>%<strong>]'</strong></span> ORDER BY [Created] DESC</span>
查了些资料了解到‘[’、‘]’在SQL的LIKE中属于特殊字符,需要特别对待一下。所以才会出现上述情况。
除了‘[’、‘]’之外,在LIKE中还有一些特殊的字符以及其处理方法,如下:
</pre><img src="http://img.blog.csdn.net/20150130105408335?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzAyODExMA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /><div align="center"><pre name="code" class="sql">SET @strWHERE=@strWHERE+' LIKE '''+'[[]'+@strSearchString1+'[]'+@strSearchString2+'%'''
如果在拼SQL语句的时候出现类似于上述情况的话,只需要将第一个’[‘替换为’[[]‘之后的’[‘替换为‘[]’即可。不需要写成如下的语句:
这样的话结果中会多出一个‘[’。
如果遇到这种情况一定要谨记。
SET @strWHERE=@strWHERE+' LIKE '''+'[[]'+@strSearchString1+'[[]'+@strSearchString2+'%'''
这样的话结果中会多出一个‘[’。
如果遇到这种情况一定要谨记。
0 0
- SQL---LIKE中的‘[’或‘]’
- sql中的like
- sql中的like
- sql like 中的patten
- sql中的like统配符
- sql中的like统配符
- sql中的like统配符
- sql中的like统配符
- SQL中的like语句详解
- SQL语言中的like匹配
- SQL模糊查询中的Like
- 【Transact-SQL】T-SQL中的Like
- 解析Microsoft Sql Server中的like语句
- Sql Server 中的Like的正确用法
- 解析Microsoft Sql Server中的like语句
- SQL语句like子句中的转义符
- SQL语句like子句中的转义符
- SQL语句like子句中的转义符
- LeetCode LRU Cache
- LNK4098: 默认库“MSVCRT”与其他库的使用冲突
- synchronized 分析
- php中的设计模式之--迭代器模式
- Cocos2d-x下Lua调用自定义C++类和函数的最佳实践
- SQL---LIKE中的‘[’或‘]’
- python cmd彩色输出
- “Ceph浅析”系列之二——Ceph概况
- Unity3D游戏开发之委托(Delegate)
- Android内存分析和调优(上)
- 关于Java socket通信的随笔
- hdu 4856 水dp
- 基于TCP和UDP的套接字编程步骤学习
- 【机器学习】K-近邻算法的Python实现