mssql sql语句过滤百分号的法子分享

发布时间:2019-10-04  栏目:MyBatis  评论:0 Comments

转自:http://www.maomao365.com/?p=6743 

前几日查资料查到7年前和煦写的blog,被英特网转发了几13遍,却没贰个把笔者的原来的小说链接标识出来,鄙视一下。

摘要:

下文陈说sql脚本中过滤百分号的法子:

manbet手机客户端3.0,
实验情状:sql server 二零零六 Wrangler2 

找了半天才找到原贴:http://huxiao.iteye.com/blog/629030


就好像我们从来用的*和?,sql的like语句中,使用%和_来代表私下三个字符和一个字符

百分号:在sql脚本编写中“百分号”被限定为一种通配符,那么一旦我们需搜索数据中是或不是留存百分号时,需使用何种方法吗?
下文通超过实际例的不二诀窍深入分析百分号的同盟格局。
 

# %代表任意多个字符  
select * from user where username like '%huxiao';    
select * from user where username like 'huxiao%';    
select * from user where username like '%huxiao%';  

# %代表一个字符  
select * from user where username like '_';    
select * from user where username like '______';    
select * from user where username like 'huxia_';    
select * from user where username like 'h_xiao';  
1        ---在sql server中,如果需要检索百分号是否存在数据中,我们使用以下方法:
2       ---方法1:中括号括起百分号进行过滤操作
3            select * from tableName where [列名]  like '%[%]%'  ---采用中括号括起百分号
4       ---方法2.1:  采用escape指定匹配条件中转义字符为~,对百分号进行转义查询
5        select *,'1.2' as [例2] from tableName where [列名]  like '%~%%'   escape '~' 
6         ---2.2采用escape指定匹配条件中转义字符为t,对百分号进行转义查询
7        select *,'1.3' as [例3] from tableName where [列名]  like '%t%%'   escape 't'
8  

若果本人就真正要查%恐怕,怎么做吧?使用escape,转义字符后边的%或就不作为通配符了,注意前方未有转义字符的%和_依然起通配符成效

 

select username from gg_user where username like '%xiao/_%' escape '/';  
select username from gg_user where username like '%xiao/%%' escape '/';  

留下评论

网站地图xml地图