`
niuliwei64
  • 浏览: 4423 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

like查询

阅读更多
$sql="select * from table_name where field_name like '%$var%'";


  ·希望通过“标题”对新闻库进行检索,关键字可能包含是中英文,如

  下 SQL 语句:

  select id,title,name from achech_com.news where title like '%a%'

  返回的结果,某些 title 字段确定带了“a”关键字,而有些则只有中文,

  但也随之返回在检索结果中。

  解决方法,使用 BINARY 属性(二进制)进行检索,如:

  select id,title,name from achech_com.news where binary title like '%a%'

  返回的结果较之前正确,但英文字母区分大小写,故有时在检索如“Achech”

  及“achech”的结果是不一样的。

  知道了使用 BINARY 属性可以解决前面这个问题,再看看 MySQL 支持的

  UCASE 及 CONCAT 函数,其中 UCASE 是将英文全部转成大写,而 CONCAT 函

  数的作用是对字符进行连接,以下是我们完全解决后的 SQL 语句:

  select id,title,name from achech_com.news where binary ucase(title) like concat('%',ucase('a'),'%')

  检索的步骤是先将属性指定为 BINARY ,以精确检索结果,而被 like 的 title

  内容存在大小写字母的可能,故先使用 ucase 函数将字段内容全部转换成大

  写字母,然后再进行 like 操作,而 like 的操作使用模糊方法,使用 concat

  的好处是传进来的可以是直接的关键字,不需要带“%”万用符,将“'a'”直接

  换成你的变量,在任何语言下都万事无忧了。

  当然你也可以这么写:

  select id,title,name from achech_com.news where binary ucase(title) like ucase('%a%')

  检索的结果还算满意吧,不过速度可能会因此而慢N毫秒喔。


上面方法是网上找来的,可能以后要用到,这里做个记录。。。
本文来自 长河日志 YL'S blog:http://www.lossr.net/read-1596.html
分享到:
评论

相关推荐

    解决MySql大数据Like查询慢的问题

    在MySQL数据库中,LIKE查询是常用的模糊匹配方法,但当处理大数据量时,尤其是涉及到通配符(如%)的LIKE查询,其性能问题不容忽视。这类查询往往会导致全表扫描,消耗大量的CPU资源和时间,进而拖慢整体系统的响应...

    mycd修补中文like查询漏洞

    根据提供的文件信息,本文将详细解析“mycd修补中文like查询漏洞”的相关知识点,包括问题背景、技术原理、解决方案及实现细节。 ### 一、问题背景 在数据库查询操作中,“LIKE”是一种常用的模糊匹配方式,它允许...

    MySQL全文索引、联合索引、like查询、json查询速度哪个快

    本文将深入探讨全文索引、联合索引、LIKE查询以及JSON查询这四种不同方法在实际应用中的速度比较,并通过实例进行详细解析。 首先,全文索引(Full-text Index)是MySQL提供的一种特殊类型的索引,专门用于提高全文...

    PostgreSQL Like模糊查询优化方案

    然而,当涉及到模糊查询,尤其是使用LIKE '%xxx%'模式时,查询性能可能会显著下降。这是因为这种查询方式无法有效地利用索引来加速,导致数据库必须进行全表扫描。本文将深入探讨如何在PostgreSQL中对LIKE模糊查询...

    Sql Server参数化查询之where in和like实现详解

    使用Sql Server,like查询可以使用参数化查询,例如: ```csharp using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); SqlCommand comm = new SqlCommand(); comm.Connection = ...

    thinkphp实现like模糊查询实例

    通过like查询,开发者能够实现对数据库中的数据进行模糊匹配,以检索包含特定关键词的数据记录。本篇文章旨在通过具体实例,介绍ThinkPHP中实现like模糊查询的两种主要方式:字符串形式和数组形式。 一、使用字符串...

    ThinkPHP like模糊查询,like多匹配查询,between查询,in查询,一般查询书写方法

    LIKE 查询用于进行文本匹配,可以匹配包含特定字符的数据。例如,如果想查找用户名中包含"A"的所有用户,可以使用以下语句: ```php $data_like['username'] = array('like', '%A%'); ``` `%` 符号是通配符,`%...

    mysql like查询字符串示例语句

    MySQL中的LIKE操作符是用于模糊查询的关键字,它在处理字符串数据时非常有用。LIKE语法简单,通过结合通配符“%”和“_”来实现不同类型的模糊匹配。 1. **“%”通配符**: - `%` 在模式中代表任意数量的字符,...

    sqlite 支持中文模糊查询

    在早期的一些SQLite版本中,由于编码或字符集处理的问题,可能会遇到在执行LIKE查询时,中文字符无法正确匹配的情况。LIKE操作符在SQL中用于执行模糊匹配,通常配合通配符'%', 允许用户查找与模式部分匹配的数据。...

    SQL使用Like模糊查询

    在SQL(Structured Query Language)中,`LIKE` 模糊查询是一种非常实用的功能,它允许用户根据特定的模式匹配数据库中的数据。这个功能在数据检索、分析和处理时尤其有用,尤其是在我们不确定确切的搜索词或者需要...

    Mybatis自定义拦截器,对模糊查询传值的特殊字符统一进行转义处理的代码

    特殊字符(\,_,%)转义工具类 MyQueryInterceptor.java: Mybatis自定义拦截器 注意:该拦截器只支持QueryWrapper的like方法,serviceImpl层传全角模糊查询(%%) mapper或xml层的全角模糊查询(%*%)和半角模糊查询(%*或*%)

    MySQL Like模糊查询速度太慢如何解决

    在处理大量数据时,低效的LIKE查询可能导致显著的性能下降。以下是一些关于如何优化MySQL LIKE模糊查询的策略: 1. **索引失效**: - 当使用`LIKE %keyword%`时,即查询模式中前后都有通配符,MySQL无法使用索引,...

    操作数据库 iBATIS查询

    #### 一、iBATIS中的LIKE查询技巧 iBATIS是一款优秀的Java持久层框架,它简化了基于SQL的程序编写,避免了程序员手动处理结果集和手工编写SQL语句。在进行数据库查询时,LIKE查询是一种常见的需求,特别是在搜索...

    Mysql 时间模糊查询

    Convert转成String再使用LIKE查询 这种方法适用于需要将日期或时间转换为字符串格式后再进行模糊匹配的情况。例如: ```sql SELECT * FROM table1 WHERE CONVERT(VARCHAR, date, 120) LIKE '2006-04-01%'; ``` ...

    Delphi高级Like语句查询实例

    摘要:Delphi源码,数据库应用,Like查询,模糊查询 Delphi高级Like语句数据库查询实例,实现基于Like的模糊查询实例,以查询商品信息为例,可查询第一个是A-Z之间的字母第二个位是0的、可查询字母开头以3结尾的商品...

    简单查询与条件查询作业.docx

    LIKE 查询是指从数据库表中检索出某个列中包含某个字符串的记录。例如,在 emp 表中查询出姓名的第二个字母为 A 的记录。可以使用以下 SQL 语句: ```sql select * from emp where ename like '_A%'; ``` 这条语句...

    DetachedCriteria查询

    可以使用 `Restrictions.like()` 方法添加 LIKE 查询条件,例如: `Criterion fullName = Restrictions.like("fullName", findKey);` `Criterion shortName = Restrictions.like("shortName", findKey);` `...

    C# List多条件聚合查询方法.txt

    C# List多条件查询聚合查询,List条件查询Where与GroupBy聚合查询

Global site tag (gtag.js) - Google Analytics