加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_梅州站长网 (https://www.0753zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql授权使用通配符_在MySQL中使用通配符时应该注意的问题

发布时间:2022-11-29 12:44:56 所属栏目:MySql教程 来源:
导读:  这篇文章主要介绍了在MySQL中使用通配符时应该注意的问题,主要是下划线的使用容易引起的错误,需要的朋友可以参考下

  现象:

  有一个表 action_conf,数据如下:

  如果想获取以exp_site_1

  这篇文章主要介绍了在MySQL中使用通配符时应该注意的问题,主要是下划线的使用容易引起的错误,需要的朋友可以参考下
 
  现象:
 
  有一个表 action_conf,数据如下:
 
  如果想获取以exp_site_10_开头的en_name的记录,sql语句该如何写?
 
  so easy!
 
  select en_name from action_conf where en_name like 'exp_site_10_%'
 
  很自信的在idb中执行了这条sql,就会发现结果并不是所预期的。
 
  你会发现,执行上面的sql会把所有以 exp_site_10开头的记录都列出来了。
 
  原因:
 
  其实,这都是sql中的通配符在作怪。在sql中,下划线_是一个通配符mysql通配符使用,能匹配任何单一字符。
 
  既然知道原因,修改sql就很容易了。正确的sql应该是:
 
  select en_name from action_conf where en_name like 'exp\_site\_10\_%'
 
  在通配符前面增加转移字符后,mysql就会把通配符视为普通字符。
 
  进阶:
 
  通配符整理:
 
  % 替代一个或多个字符
 
  _ 仅替代一个字符
 
  [charlist] 字符列中的任何单一字符
 
  [^charlist]或[!charlist] 不在字符列中的任何单一字符
 

(编辑:云计算网_梅州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!