欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MySQL学习足迹记录06--数据过滤--LIKE搭配百分号(%)和下划线(_MySQL

程序员文章站 2022-05-26 08:41:55
...
bitsCN.com

MySQL学习足迹记录06--数据过滤--LIKE搭配百分号(%)和下划线(_)通配符

1.LIKE操作符

*%表示匹配任何字符出现任意次数(>=0)

为了便于观察,先把prod_name字段的所有的数据列出

   eg:   mysql> SELECT prod_name FROM products;+----------------+| prod_name      |+----------------+| .5 ton anvil   || 1 ton anvil    || 2 ton anvil    || Detonator      || Bird seed      || Carrots        || Fuses          || JetPack 1000   || JetPack 2000   || Oil can        || Safe           || Sling          || TNT (1 stick)  || TNT (5 sticks) |+----------------+14 rows in set (0.00 sec)mysql> SELECT prod_name FROM products          -> WHERE prod_name LIKE 'jet%';          #检索一任何"jet"开头的数据+--------------+| prod_name    |+--------------+| JetPack 1000 || JetPack 2000 |+--------------+2 rows in set (0.00 sec)mysql> SELECT prod_name FROM products         -> WHERE prod_name LIKE '%anvil%';                      #'%anvil%'表示匹配任何位置包含文本anvil的值+--------------+| prod_name    |+--------------+| .5 ton anvil || 1 ton anvil  || 2 ton anvil  |+--------------+3 rows in set (0.00 sec)mysql> SELECT prod_name FROM products        -> WHERE prod_name LIKE 's%e';

#找出以s开头并一e结尾的所有产品

+-----------+| prod_name |+-----------+| Safe      |+-----------+1 row in set (0.00 sec)

*下划线(_)通配符

用途与%一样,但下划线只匹配单个字符

  eg:   mysql> SELECT prod_name FROM products           -> WHERE prod_name LIKE '_ ton anvil';+-------------+| prod_name   |+-------------+| 1 ton anvil || 2 ton anvil |+-------------+2 rows in set (0.01 sec)

请对比%操作符的结果:

 mysql> SELECT prod_name FROM products          -> WHERE prod_name LIKE '% ton anvil';+--------------+| prod_name    |+--------------+| .5 ton anvil || 1 ton anvil  || 2 ton anvil  |+--------------+3 rows in set (0.00 sec)

bitsCN.com