问题背景

今天数据库老师留了一道实验题,如下:

(14)查询“A _ C”课程的课程号和学分。(如果没有“A _ C”这么课,在course表中补上这门课, “ABC” “ACC” 等课程查不出来)

我的DBMS是MySQL,数据库管理工具为Navicat

一开始,我是按照书上的知识点去敲得:

如果用户要查询的字符串本身就含有通配符 % 或 _ ,这时就需要使用ESCAPE ‘’ 短语对通配符进行转义了。

ESCAPE ’ \ ’ 表示 “ \ ” 为换码字符。这样匹配字符串中紧跟在 “ \ ” 后面的字符 “ _ ” 不再具有通配符的含义,转义为普通的 “ _ ” 字符。

代码如下:

select Cno,Ccredit from course where Cname like 'A\_C' escape '\';

数据库中的表格如下:

查询结果如下:

不仅如此,还会对后面的代码片产生影响:

当时我的心情

问题提出

1.为什么书上的这种方法得不到正确的数据呢?

首先,从代码片分析, \ 后面的代码都变成了字符串形式,说明 \ 将后面的 ’ 转义成为了普通字符,所以会报错。

然后,我又去MySQL的官网上查了一下MySQL 8.0参考手册,进入MySQL 8.0 Reference Manual --> Functions and Operators --> String Functions and Operators --> String Comparison Functions and Operators

有这么一段话:

百度翻译之后,得出:

要测试通配符的文字实例,请在其前面加上转义符。如果未指定ESCAPE字符, \则假定为。

也就是说,不声明的情况下 \ 默认为是转义字符,所以不再需要escape短语将其转化为换码字符。

2.是因为DBMS的问题嘛?

关于这个问题 ,我去找我的同学试了试SQL Server,结果让我很痛心

mysql正斜杠_MySQL中的正斜杠和反斜杠 | | 数据库系统概论(字符匹配)相关推荐

  1. php mysql 反斜杠_MySQL中如何插入反斜杠,反斜杠被吃掉,反斜杠转义(转)

    问题描述: mysql中带有反斜杠的内容入库后,发现反斜杠无故失踪了(俗话说被吃掉了) 例:插入insert into tb('url') values('absc\eeee'); 结果数据库里的内容 ...

  2. python中多行语句可以用反斜杠来实现_Python中的多行语句可以使用反斜杠来实现...

    Python中的多行语句可以使用反斜杠来实现 答:错 好氧堆肥化是指在有氧存在的状态下,好氧微生物对废物中的有机物进行分解转化的过程,最终的产物主要是 答:CO2 H2O 腐殖质 旅游市场竞争的主要对 ...

  3. python中的多行语句可以使用反斜杠来实现_Python中的多行语句可以使用反斜杠来表示。...

    [资料题]4 . A 木业制造有限责任公司(以下简称 A 公司)是增值税一般纳税人,从事实木地板的生产.销售,同时从事木质工艺品.筷子等的生产经营.本年 7 月 A 公司发生下列业务: ( 1 )购进 ...

  4. mysql获取当月最后一天_mysql中获取本月第一天、本月最后一天、上月第一天、上月最后一天

    mysql获取当月最后一天_mysql中获取本月第一天.本月最后一天.上月第一天.上月最后一天等等 转自: https://blog.csdn.net/min996358312/article/det ...

  5. python中反斜杠_Python中的正斜杠/与反斜杠\

    知识点: 1. "/"左倾斜是正斜杠,"\"右倾斜是反斜杠,可以记为:除号是正斜杠 2. 对于目录分隔符,Unix和Web用正斜杠/,Windows用反斜杠\. ...

  6. java去掉正斜杠_Java中的正斜杠与反斜杠的使用场景

    正斜杠:/ 键盘上右Shift左边那个键 反斜杠:\ 键盘上退格下面那个键 "/"在JAVA中没有什么特别的意义,就是代表一个字符"/"; 反斜杠"& ...

  7. python中怎么输入正斜杠_Python中的正斜杠与反斜杠

    (一)目录中的斜杠们 python读文件需要输入的目录参数,列出以下例子: path = r"C:Windowsempeadme.txt" path1 = r"c:win ...

  8. python中单斜杠_Python中的正斜杠与反斜杠

    (一)目录中的斜杠们 python读文件需要输入的目录参数,列出以下例子: path = r"C:\Windows\temp\readme.txt" path1 = r" ...

  9. mysql添加临时索引_mysql 中添加索引的三种方法

    在mysql中有多种索引,有普通索引,全文索引,唯一索引,多列索引,小伙伴们可以通过不同的应用场景来进行索引的新建,在此列出三种新建索引的方法 mysql 中添加索引的三种方法 1.1 新建表中添加索 ...

最新文章

  1. Java学习(三)JSP学习1
  2. 屌丝逆袭高富帅之JAVA之路
  3. android文件存储token,ANDROID 学习笔记(二) 用户登陆问题 TOKEN SESSION 缓存
  4. 成功解决TypeError: object of type ‘int‘ has no len()
  5. 针对不同基础学Java编程的人,提出的小建议?
  6. 假如王撕葱是程序员。。。
  7. 【小窍门】浏览器兼容圆角Border-radius的问题
  8. nginx 日志格式设置 和 负载均衡下 获取真实ip
  9. tsql语句中的t是什么_TSQL中的Java HashCode
  10. Python gmpy2 mpz Methods
  11. 5G Next Generation of Communication
  12. oracle数据库中标识列,Oracle数据库标识列
  13. 可编辑的电子海图系统功能拓展与应用
  14. 质量评估:如何全面评价一份数据的质量高低?
  15. 眼镜的基础知识与挑选
  16. 川轻化c语言实验答案,C语言实验目().doc
  17. 胡灵 c语言,C语言门真相
  18. docker image 重命名
  19. 【Windows 7错误报告弹出提示窗口怎么取消】
  20. cinemachine 相机跟踪物体

热门文章

  1. 消除安卓SDK更新时的“https://dl-ssl.google.com refused”异常的方法
  2. 2022-2028年中国半导体用环氧塑封料(EMC)行业市场全景调查及投资前景分析报告
  3. 【微服务架构】SpringCloud之路由网关(zuul)
  4. SpringBoot (五) :SpringBoot整合mybatis
  5. intellij idea 常见遇到的问题整理
  6. Exception in thread main java.lang.Error: 无法解析的编译问题: 方法 main 不能声明为 static;只能在静态类型或顶级类型中才能声明静态方法
  7. Auto ML自动调参
  8. Python:Scrapy的settings
  9. Android 人民币符号在布局中实现的效果不一样的处理方法
  10. Tablayout 多个界面使用一个fragment 的实例