您的位置:首页 > 数据库 > MySQL

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

2013-07-09 18:37 615 查看
1.LIKE操作符


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

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

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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: