用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > mysql教程

mysql like查询字符串示例

时间:2015-01-23  来源:西部数据  作者:西部数据

在mysql中如果我们要模糊查询数据我们可以使用like带%%号来实现查询,下面我来简单的介绍一下关于mysql like使用方法.

一般,使用mysql in查询,可以这样写,代码如下:

  1. SELECT *  
  2. FROM  `tb_require`  
  3. WHERE  `require_id`  
  4. IN ( 23, 1024 ) 

这种方法一般适合数字型,如果是字符串的话,就还要加上单引号,代码如下:

  1. SELECT *  
  2. FROM  `tb_require`  
  3. WHERE  `require_name`  
  4. IN ( 'aaa''bbbb'

在查询字符串时,如果要模糊匹配,可以使用like 加 %,代码如下:

  1. SELECT *  
  2. FROM  `tb_require`  
  3. WHERE  `require_name` LIKE  '%aaa%' --phpfensi.com

那如果有个需求,是需要模糊查询多个字符串呢?like 加 in连用,如何写?这时候可以使用mysql的CONCAT函数,代码如下:

  1. SELECT * FROM customers  
  2. WHERE 'Robert Bob Smith III, PhD.' LIKE CONCAT('%',name,'%'

这样就解决了 like in的问题.

需要注意的是CONCAT后面需要紧跟着括号,不要有空格,有空格的话,可能会报错,注意在你使用SQL模式时,你不能使用=或!=;而使用LIKE或NOT LIKE比较操作符.

SELECT 字段 FROM 表 WHERE 某字段 Like 条件

其中关于条件,SQL提供了四种匹配模式:

1,%:表示任意个或多个字符,可匹配任意类型和长度的字符,比如,代码如下:

SELECT * FROM [user] WHERE u_name LIKE ‘%三%’

将会把u_name为“张三”,“张猫三”、“三脚猫”,“唐三藏”等等有“三”的记录全找出来,另外,如果需要找出u_name中既有“三”又有“猫”的记录,请使用and条件,代码如下:

SELECT * FROM [user] WHERE u_name LIKE ‘%三%’ AND u_name LIKE ‘%猫%’

若使用如下代码:

SELECT * FROM [user] WHERE u_name LIKE ‘%三%猫%’

虽然能搜索出“三脚猫”,但不能搜索出符合条件的“张猫三”.

2,_:表示任意单个字符,匹配单个任意字符,它常用来限制表达式的字符长度语句,可以代表一个中文字符,比如如下代码:

SELECT * FROM [user] WHERE u_name LIKE ‘_三_’

只找出“唐三藏”这样u_name为三个字且中间一个字是“三”的;再比如如下代码:

SELECT * FROM [user] WHERE u_name LIKE ‘三__’;

只找出“三脚猫”这样name为三个字且第一个字是“三”的;

来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
栏目更新
栏目热门