SQL通配符

SQL通配符通常我们只是用%作为通配符,用来表示任意个字符。但sql中的通配符还有下划线_,用来标识任意一个字符实例SELECT*FROMWebsitesWHEREnameLIKE&#

大家好,又见面了,我是你们的朋友全栈君。

通常我们只是用 %  作为通配符,用来表示任意个字符。

但sql中的通配符还有 下划线 _ ,用来标识任意一个字符

实例

SELECT * FROM Websites

WHERE name LIKE ‘_oogle’;

执行输出结果:

<span role="heading" aria-level="2">SQL通配符
 
 
问题再延伸,如果我们数据中有包含下划线的字符,那么该怎么处理呢?
 
--需求,找到name中包含下划线的内容,即 把前两条筛出来
with x as
(select '_haha' as name from dual  union all
select '\_2haha'  as name from dual  union all
select '2haha' as name from dual
)
select * from x where name like '%_%';

<span role="heading" aria-level="2">SQL通配符

 

 不对,这里的下划线别理解成了通配符

 

-- 那么使用右斜杠+下划线的模式来转译他,可以么?
with x as
(select '_haha' as name from dual  union all
select '\_2haha'  as name from dual  union all
select '2haha' as name from dual
)
select * from x where name like '%\_%';

 

<span role="heading" aria-level="2">SQL通配符

 

 

 依然不对,这里斜杠并没有起到转译的作用。

查了下,自己以前不认识这个关键字。ESCAPE

 

-- 使用ESCAPE 关键字来表示【这个字符后边的东西,该被识别成普通字符。】?
with x as
(select '_haha' as name from dual  union all
select '\_2haha'  as name from dual  union all
select '2haha' as name from dual
)
select * from x where name like '%\_%' ESCAPE '\';

 

<span role="heading" aria-level="2">SQL通配符

 

 结果对了。那么换个别的字符呢?

 

with x as
(select '_haha' as name from dual  union all
select '\_2haha'  as name from dual  union all
select '2haha' as name from dual
)
select * from x where name like '%?_%' ESCAPE '?';
---

with x as
(select '_haha' as name from dual  union all
select '\_2haha'  as name from dual  union all
select '2haha' as name from dual
)
select * from x where name like '%!_%' ESCAPE '!';

结果都是

<span role="heading" aria-level="2">SQL通配符

妥了。

 
 
 
 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155710.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 从零开始学习java一般需要多长时间?「建议收藏」

    从零开始学习java一般需要多长时间?「建议收藏」其实学java一般要多久?因人而异,例如一个零基础的小白自学java,每天学习8个小时来算,而且在有学习资料的基础上,每天学习,从零到找到工作,起码要半年起步,而且还要有项目经验,否则是不会有公司要你的。而一个有一些基础的人,在经过有人系统的教学后,是可以很快学会掌握java的,大概3个月左右。不过java相对于C,C++java而言,java无疑简单了很多,不需要指针,不需要销毁对象,使得对ja…

    2022年7月7日
    22
  • 【Altium Designer】PCB设计中利用board cutout做板子开孔开槽「建议收藏」

    【Altium Designer】PCB设计中利用board cutout做板子开孔开槽「建议收藏」有时候在pcb板子设计完成后,为了在使用中固定pcb板子,需要在pcb板子四个角开孔,3D视图中如下图所示。实现的方法不止一个,本文主要记录用boardcutout实现开圆形槽的方法,使用软件为AD18。1.选中mechanical1层或者Keep-outlayer层,先画出和孔径大小相同的圆;如下图2.设计-板子形状-定义板切割(快捷键DSC),在模式下沿着圆边点…

    2022年9月24日
    0
  • 关于 jQuery delegate , undelegate

    关于 jQuery delegate , undelegate没啥好说的,看代码吧!jQuery版本:1.71浏览器版本:chrome211<body>23<ulclass=”a-list”>4<li><ahref=”javascript:;”>test1</a></li>5&…

    2022年10月7日
    0
  • ios长按不能粘贴_ios14长按不能复制

    ios长按不能粘贴_ios14长按不能复制/*设置IOS页面长按不可复制粘贴,但是IOS上出现input、textarea不能输入,因此将使用-webkit-user-select:auto;*/*{-webkit-touch-callout:none;/*系统默认菜单被禁用*/-webkit-user-select:none;/*webkit浏览器*/-khtml-user-select:none;…

    2022年9月29日
    0
  • java转化为string_php有必要转java吗

    java转化为string_php有必要转java吗Stringdatas=“{key:value,key2:value2}”;JSONObjectjsonObject=JSONObject.parseObject(datas);1.上面的代码是把json字符串转化为json对象jsonObject.put(“key3″,”value3”);2.上面的代码对其进行赋值ObjectexO1=JSON.to…

    2022年8月23日
    7
  • 耶鲁大学博弈论24讲笔记_耶鲁大学博弈论公开课讲义

    耶鲁大学博弈论24讲笔记_耶鲁大学博弈论公开课讲义耶鲁大学博弈论(GameTheory)笔记2-学会换位思考

    2022年10月9日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号