`

数据库模糊搜索时,关键字中处理特殊字符(%,_)

 
阅读更多

数据库模糊搜索时,都知道应该用通配符%号来模糊匹配。如:select *from table where content like '%key%'。但当关键字key中也包含有%号时,应该怎么办?

 

  数据库中有关键字:escape就是用来转换的。使用escape关键字定义转义符时,当转义符置于通配符之前时,该通配符就解释为普通字符。用法:ESCAPE 'escape_character' 其允许在字符串中搜索通配符而不将其作为通配符使用。'escape_character'通常用'/'或'\'做为转义符,其它如‘!'等也可以做为转义符。

 

示例:

  select *from table where content like '%/%%' escape '/'

  /为转义字符,第二个%为普通字符,第一、三个%为通配符。

 

  select *from table where content like '%/%//%' escape '/'

  /为转义字符,第二个%为普通字符,第一、三个%为通配符,第二个/为转义字符,第三个/为普通字符。

----------转载http://www.cnblogs.com/joinclear/archive/2013/02/25/2932842.html

if(StringUtils.isNotEmpty(param.getCode())){
				hql.append("and node.code like ? escape ? ");
				params.put(String.valueOf(params.size()), "%" + Common.getSqlLikeEscapeStr(param.getCode()) + "%");
				params.put(String.valueOf(params.size()), Constants.CON_SQL_LIKE_ESCAPE);
			}

 

public static String getSqlLikeEscapeStr(String str){
		
		str = str.replaceAll("/", "//");
		str = str.replaceAll("%", "/%");
		str = str.replaceAll("_", "/_");
		
		return str;
	}

 

 

 

分享到:
评论

相关推荐

    易语言edb数据库搜索和模糊搜索源码

    在易语言中,这可能需要使用到字符串处理函数来构造模糊查询的SQL语句,比如 `%` 代表任意多个字符,`_` 代表单个字符。 资源作者未提供具体的界面截图,但可以想象,一个基本的搜索界面可能包含一个文本框供用户...

    asp 多个关键字模糊查询

    模糊查询是数据库查询中的一种常见技术,ASP 中的多个关键字模糊查询可以通过空格区分,实现复杂的搜索功能。下面将详细介绍 ASP 中多个关键字模糊查询的技术应用。 1. ASP 中的模糊查询技术 模糊查询是一种特殊的...

    简单的关键字查询

    在IT领域,关键字查询是数据检索的一个基本方法,特别是在数据库管理中。这个“简单的关键字查询”主题涵盖了如何通过编程方式连接数据库并执行基于关键字的搜索操作。对于初学者来说,理解这一概念至关重要,因为它...

    SQL数据库模糊查询内容语句

    这种查询方式在处理大量数据时尤其有用,比如在搜索关键词、查找类似记录或者进行数据清洗时。下面将详细介绍SQL中的模糊查询语句及其应用。 1. **LIKE关键字** LIKE是最常用的模糊查询关键字,它允许我们在WHERE...

    数据库中的模糊查询技术

    1.2 模糊匹配:模糊匹配是指在比较字符串时,考虑相似性而非精确相等。这通常通过模糊度度量(如Levenshtein距离、Jaccard相似度等)来实现。 1.3 模糊查询语言:这是支持模糊查询的特定查询语法,如SQL的LIKE、...

    delphi 系统开发 数据库模糊查询系统

    在Delphi系统开发中,数据库模糊查询系统是一个关键的组件,它允许用户通过不精确的关键词来搜索数据库中的记录。这种功能广泛应用于各种信息管理系统,如企业资源规划(ERP)、客户关系管理(CRM)和内容管理系统等...

    如何实现MySQL数据库中文模糊检索

    在MySQL数据库中,进行中文模糊检索时,常常会遇到返回的结果并不符合预期,尤其是在处理包含中文和英文混合的关键字时。这是因为MySQL默认的模糊匹配(LIKE操作)在处理多字节字符集(如UTF-8,用于存储中文字符)...

    SqlServer中模糊查询对于特殊字符的处理方法

    在SQL Server中,模糊查询是通过`LIKE`关键字来实现的,它允许我们使用通配符来匹配字符串数据。然而,当我们的查询涉及到特殊字符时,可能会遇到问题,因为这些字符在`LIKE`表达式中有特定的含义。本文将详细讨论...

    云计算中加密数据的模糊关键字搜索方法.pdf

    模糊关键字搜索允许用户通过输入的关键词在加密数据中找到最接近的匹配项,而不是仅限于完全相同的匹配项。 本文介绍了一种新的模糊关键字搜索方法,其通过使用R树构建索引,支持多种字符串相似性操作,允许对加密...

    用Java实现的模糊搜索模块源码

    模糊匹配的核心在于如何处理用户输入的拼音与数据库中的汉字之间的转换和比较。一种常见的方法是使用Pinyin4j等库,它可以将汉字转换为对应的拼音。这样,用户输入的拼音字符串就可以与存储的汉字拼音进行匹配,实现...

    利用本地的关键字实现模糊查询

    "利用本地的关键字实现模糊查询"这个主题涉及到的技术是AutoComplete,这是一种常见于输入框中的功能,能够帮助用户快速找到他们想要输入的内容,而无需完全键入整个词汇。这种功能在各种应用程序中广泛使用,比如...

    C# 模糊查询

    在C#中,当我们需要从数据库中获取部分匹配的数据,比如用户输入的关键词可能只包含目标字符串的一部分时,就会用到模糊查询。本篇文章将深入探讨C#如何进行SQL的模糊查询,以及与`LIKE`关键字相关的应用。 首先,...

    aspx中sql为数据库的模糊查询

    当我们谈论“aspx中sql为数据库的模糊查询”时,我们指的是使用C#编程语言在ASP.NET(通常与.aspx页面关联)环境中,通过SQL语句执行对数据库的不精确或部分匹配的搜索。这种查询方式在用户需要输入关键词进行搜索时...

    sql server数据库模糊查询语句

    SQL Server 模糊查询语句是指使用 LIKE 关键字和通配符来搜索符合指定模式的字符串。下面是 SQL Server 模糊查询语句的详细说明: 1. LIKE 关键字:LIKE 关键字用于搜索符合指定模式的字符串。它可以与通配符结合...

    C# 汉字或拼音模糊搜索

    在IT领域,尤其是在开发中文应用时,汉字或拼音模糊搜索是一项重要的功能,它允许用户通过输入汉字或拼音来查找相关信息,即便输入不完全准确也能找到匹配的结果。本篇将深入探讨如何在C#环境下实现这样的功能,特别...

    达梦数据库 SQL语言使用手册

    在 DM_SQL 语言中,保留字是指语言中预定义的关键字,例如 SELECT、INSERT、UPDATE、DELETE 等。标识符是指用户定义的名称,例如表名、列名、视图名等。用户在使用 DM_SQL 语言时,需要避免使用保留字作为标识符,...

    类似百度多关键字任意组合模糊搜索PB例程

    标题中的“类似百度多关键字任意组合模糊搜索PB例程”是指使用PowerBuilder(PB)开发的一个程序示例,该示例旨在实现类似于百度搜索引擎的功能,允许用户输入多个关键词,并进行任意组合的模糊搜索。在实际的搜索...

    数据库实现 模糊版 jjkodada

    "模糊版"可能指的是数据库中的模糊查询功能,这是一种允许用户使用非精确匹配条件进行搜索的技术。本主题将深入探讨数据库实现的模糊查询及其在jjkodada项目中的应用。 数据库实现通常涉及到数据模型的设计、数据库...

    在ASP环境下实现SQL数据库模糊查询.pdf

    在ASP环境下实现SQL数据库模糊查询涉及到的技术主要包括ASP(Active Server Pages), ADO(ActiveX Data Objects), SQL以及SQL Server数据库。在本文中,我们将详细讨论这些技术及其在实现模糊查询时的具体应用。 首先...

    sql正宗模糊查询(仿百度)关键字密度排序查询,不一定要词组匹配

    在SQL查询中,模糊查询是一种非常实用的技术,它允许我们搜索数据库中与特定模式匹配的数据。在本主题中,我们将深入探讨"sql正宗模糊查询",特别是如何模仿百度搜索引擎的关键字密度排序查询,同时理解不一定要词组...

Global site tag (gtag.js) - Google Analytics