sql 模糊查询
逗号,在sql中like中不需要转义,但是如果
在sql中的某个字段值用“,”分隔数据,
需要获取数据的时候直接把“,”拆分成数据,获得一个数据的list。
例如:需要查询某字段是否包含一个值,
111是否存在于1111,2111,1112,1121,1113这个字段中 。
因为根据“,”逗号分开,要求的答案是:不在字段中。
用传统的like '%111%',显然不合适,这样虽然111不存在但是依然能查到该条记录。
所以应该用以下语句实现:
select * from Table where ','+columA+',' like '%,111,%'。
实际就是把字段填上一个逗号然后在比较。如果你的字段是用别的分隔符,同理可得。
最近又遇到这样的问题:
一份合同流转中需要选择多个业务处理部门的code ,在合同表里有这个字段 BUSINESS_DEPT_ID
这个字段的数据存储是这样的 205000000;206000000;207000000;208000000;
在合同查询的时候需要匹配 选择的业务部门
使用下面语句 用的是DB2数据库
select c.BUSINESS_DEPT_ID from CMM_CONTRACT c where c.BUSINESS_DEPT_ID||';' like '%206000000;%'
虽然违反了第三范式不过查询使用还是很方便的 如果因此再建张表的话那会很麻烦的
分享到:
相关推荐
本文将深入探讨如何在PostgreSQL中对LIKE模糊查询进行优化,提升数据检索速度。 首先,了解问题的本质是关键。在SQL中,LIKE '%xxx%'这样的查询意味着我们需要查找包含特定字符串"xxx"的所有记录,不论该字符串出现...
在SQL(Structured Query Language)中,`LIKE` 模糊查询是一种非常实用的功能,它允许用户根据特定的模式匹配数据库中的数据。这个功能在数据检索、分析和处理时尤其有用,尤其是在我们不确定确切的搜索词或者需要...
在VB中实现模糊查询,通常会使用SQL语句,比如`LIKE`操作符配合通配符。例如,如果用户在表单的文本框中输入关键词,我们可以构建如下的SQL查询: ```sql SELECT * FROM 表名 WHERE 字段名 LIKE '%关键词%' ``` ...
MyBatis like模糊查询方法 MyBatis是一个流行的持久层框架,提供了强大的查询功能。其中,like模糊查询是最常用的查询方式之一。本文将介绍如何使用MyBatis进行不同条件的like模糊查询。 like模糊查询的原理 like...
以下是一些关于如何优化MySQL LIKE模糊查询的策略: 1. **索引失效**: - 当使用`LIKE %keyword%`时,即查询模式中前后都有通配符,MySQL无法使用索引,因为这种模式需要全表扫描。即使表中有针对该字段的索引,也...
在数据查询方面,ThinkPHP支持多种查询方式,包括我们今天要讨论的重点——LIKE模糊查询。LIKE查询允许我们在数据库中搜索包含特定模式的数据,这对于实现搜索功能或过滤数据非常有用。 在ThinkPHP中,实现LIKE模糊...
// 使用like模糊查询 $posts = Post::where('title', 'like', '%' . $searchTerm . '%') ->orWhere('content', 'like', '%' . $searchTerm . '%') ->get() ->toArray(); return $posts; } ``` 在上面的代码...
1. **ThinkPHP LIKE 模糊查询** LIKE 查询用于进行文本匹配,可以匹配包含特定字符的数据。例如,如果想查找用户名中包含"A"的所有用户,可以使用以下语句: ```php $data_like['username'] = array('like', '%A%...
特殊字符(\,_,%)转义工具类 MyQueryInterceptor.java: Mybatis自定义拦截器 注意:该拦截器只支持QueryWrapper的like方法,serviceImpl层传全角模糊查询(%%) mapper或xml层的全角模糊查询(%*%)和半角模糊查询(%*或*%)
LIKE模糊查询的通配符 搜索通配符字符 在模糊查询中,我们需要查询包含通配符%, _之类的字符,比如我需要查询表名包含user_的表,我们可以用下面两种方法。 SELECT * FROM sysobjects WHERE xtype...
在这里,我们将深入探讨如何在Python中使用`LIKE`进行数据库的模糊查询。 首先,让我们明确`LIKE`操作符的基本用法。`LIKE`允许我们使用百分号(%)作为通配符,其中 `%` 可以代表任意数量的字符,包括零个字符。...
在Mybatis这个流行的持久层框架中,实现模糊查询功能,特别是`LIKE`操作,可以帮助开发者更灵活地处理数据过滤。本文将详细介绍Mybatis中使用`LIKE`进行模糊查询的几种方法。 1. **参数中直接加入`%`** 在Mybatis...
MySQL中的LIKE模糊查询是SQL查询语句中一种强大的匹配功能,它通过使用通配符来查找部分匹配的数据。本文将详细介绍两种主要的通配符——`%`和`_`,以及MySQL中的正则表达式匹配。 首先,我们来看`%`通配符。`%`...
在描述中提到的问题是关于SQLite对中文模糊查询的支持。 在早期的一些SQLite版本中,由于编码或字符集处理的问题,可能会遇到在执行LIKE查询时,中文字符无法正确匹配的情况。LIKE操作符在SQL中用于执行模糊匹配,...
在处理更大规模的数据(如2亿多条记录)时,使用`LIKE`进行模糊查询可能导致长时间等待,而`INSTR`可以在4分钟内完成,显示出优越的性能。此外,`INSTR`的一个特殊用法是,可以同时检查多个值是否存在,例如`instr('...
SQL中的模糊查询主要依赖于`LIKE`关键字来实现。`LIKE`允许使用通配符进行模式匹配,从而可以灵活地处理不完全确定的查询条件。常用的通配符包括: - `%`:表示任意数量的字符(包括零个字符)。 - `_`:表示单个...
在MySQL中,模糊查询主要通过`LIKE`关键字实现。例如,查询所有包含“abc”的记录可以使用`SELECT * FROM table WHERE column LIKE '%abc%'`这样的语句。 #### 三、时间模糊查询的方法 ##### 1. Convert转成String...
`Contains`方法等价于SQL中的`LIKE '%value%'`,它可以处理任意位置的关键词匹配,且支持模糊查询。在Entity Framework中,`Contains`方法会被自动转换为对应的SQL语句,从而在数据库层面执行查询,提高了效率。 ...