走向DBA[MSSQL篇] 积跬步行千里
2011-10-25 22:29 熬夜的虫子 阅读(1655) 评论(0) 编辑 收藏 举报不知道大家对SQL系列的感不感兴趣 先在这里探个路 本文针对的读者为SQL菜鸟 欢迎大牛驳论或者补充
既然是探路篇 就先说下数据过滤中的偏门匹配 希望能给大家带来收获
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | create table 虫子的临时表 ( 编号 varchar (30), 名称 varchar (30), 备注 varchar (100) ) insert into 虫子的临时表 values ( '编号01' , 'name01' , '这是一个奇迹' ) insert into 虫子的临时表 values ( '编号02' , 'name02' , '这是一个神话' ) insert into 虫子的临时表 values ( '编号039' , 'name039' , '这是一个扯谈' ) -- %大家都懂的 select * from 虫子的临时表 where 编号 like '%编号%' -- 使用‘_’匹配任意字符 select * from 虫子的临时表 where 编号 like '编号0_' -- 使用‘_’匹配任意字符 但是只能匹配任意单个字符 select * from 虫子的临时表 where 编号 like '编号_' -- 使用‘_’匹配任意字符 但是只能匹配任意单个字符 如果要表示2个字符可以用‘__’ select * from 虫子的临时表 where 编号 like '编号__' drop table 虫子的临时表 |
“_”通配符功能和“%”相似,只是“_”表示任意单个字符,且该字符只能匹配一个字符。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | create table 虫子的临时表 ( 昵称 varchar (30), 座位号 int , 备注 varchar (100) ) insert into 虫子的临时表 values ( '和谐' ,15, '这是一个奇迹' ) insert into 虫子的临时表 values ( '特色社会主义' ,29, '这是一个神话' ) insert into 虫子的临时表 values ( '%#¥' ,31, '这是一个扯谈' ) insert into 虫子的临时表 values ( 'Qg%Q' ,31, '这是一个扯谈' ) -- '[]'匹配某一范围内的字符 select * from 虫子的临时表 where 座位号 like '[1-2][1-9]' -- '[^]'匹配非某一范围内的字符 select * from 虫子的临时表 where 座位号 like '[^1-2]_' -- 匹配特殊字符 select * from 虫子的临时表 where 昵称 like '%[%#]%' -- 在模式查询中使用转义符escape select * from 虫子的临时表 where 昵称 like '%g%%' escape '/' drop table 虫子的临时表 |
“[]”通配符用于指定一系列的字符,只要满足这些字符其中之一,且位置出现在“[]”通配符的位置的字符串就满足查询条件。“[^]”来排除指定数据。like关键字可以与“[]”通配符组合来匹配特殊字符也可以使用escape关键字和转义符来实现。
下一章节和大家详细介绍下游标。
![]() |
原创作品允许转载,转载时请务必以超链接形式标明文章原始出处以及作者信息。 作者:熬夜的虫子 点击查看:博文索引 |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步