以前模糊查询使用的是:like
例如(Schema KMH_QC):
select v.unitprice, v.unit, v.STORAGE, v.stationeryname, v.stationeryid,
v.modelsize, v.classname, v.classid
FROM v_wjqc_storage v
where v.stationeryname LIKE '%'||#stationeryName#||'%';
问题:当传递进去的stationeryName值是'%'或者'_'时,它会查出所有信息。
解决方案:条件换为:instr(v.stationeryname,#stationeryName#) > 0
'_'通配一个字符,'%'通配N个字符,这是SQL的基本语法就有!
例如:传入参数为"_成_",表达的意思是查找三个字的,并且中间那个字是"成"的."_"可以出现多次,每出现一次代通配一个字符.
传入参数为"%成",表达的意思是最后个字是为"成"的.
传入参数为"%成%",表达的意思是只要包含"成"的都显示.
传入参数为"成%",表达的意思是第一个字是为"成"的.
同时"%"和"_"还可以配合使用:
例如:
传参数为"_成%"表示第二字为"成"的都显示.
非常灵活,自由组合.
分享到:
相关推荐
虽然模糊查询提供了很大的便利,但也要注意安全问题。用户输入的查询条件可能会被恶意利用,因此必须进行验证和转义。在JSP中,可以使用EL(Expression Language)和JSTL的`fn:escapeXml()`函数来确保输入的安全。 ...
Oracle拼音首字母查询是一种在Oracle数据库中实现对汉字进行拼音首字母检索的技术。在中文环境中,为了方便用户根据汉字的拼音首字母进行快速查找,这种查询方式尤其有用。Oracle数据库虽然原生支持英文字符集,但...
Mybatis 中 Oracle 的拼接模糊查询及用法详解 Mybatis 是一个基于 Java 的持久层框架,提供了强大的数据库交互能力,而 Oracle 则是业界最流行的关系数据库管理系统。本文将详细介绍 Mybatis 中 Oracle 的拼接模糊...
Nhibernate是一款流行的.NET框架,...然而,使用时要注意性能问题,合理设计数据库索引和查询策略,确保系统的高效运行。在深入理解Nhibernate源码的基础上,开发者还可以根据需求自定义扩展,以满足更复杂的应用场景。
Oracle数据库在处理树形结构数据时提供了强大的递归查询功能,这种特性对于组织结构、产品分类、层级菜单等场景的...通过熟练掌握这一特性,开发者可以在数据库层面高效地解决复杂的数据查询问题,减少应用程序的负担。
在Oracle 11g Release 2数据库管理系统中,掌握分组查询GROUP BY、模糊查询LIKE、连接查询JOIN以及IN()和NOT IN()等查询技术是至关重要的,它们为数据分析师和开发人员提供了强大的数据筛选与汇总能力。以下是对这些...
2. **Oracle模糊查询** Oracle的模糊查询函数`LIKE`、`INSTR`、`SOUNDEX`和`SIMILAR TO`等可以辅助实现同音字查询。其中,`SOUNDEX`函数可以计算字符串的发音代码,但主要针对英文,对于中文的支持有限。`INSTR`...
### 提高Oracle数据库查询效率 在Oracle数据库管理与优化领域,提高查询效率是至关重要的一个环节。这不仅能够显著提升应用程序的性能,还能减少数据库服务器的负载,从而为用户提供更流畅的服务体验。本文将结合...
3. **INSTR函数**:在某些数据库系统(如Oracle),`INSTR`函数可以用来检查字符串中是否包含特定子串,虽然这不是标准SQL的一部分,但在某些模糊查询场景中也十分有用。 4. **DELPHI中的ADO或DAO组件**:在DELPHI...
通过以上实例可以看出,DECODE函数在Oracle数据库中是一个非常灵活且强大的工具,能够帮助我们在查询中实现复杂的条件判断和数据处理,特别是在需要进行行列互换、数据聚合等场景下,DECODE函数的应用显得尤为关键。
在给定的部分内容中,可以看到三种不同的数据库(MySQL、Oracle、SQL Server)处理模糊查询的方式: - **MySQL**: ```xml SELECT * FROM user WHERE name LIKE CONCAT('%', #{empname}, '%') ``` - **...
总的来说,结合QT的易用性和OCI的低级别数据库访问能力,可以有效地实现ORACLE数据库的模糊搜索功能,提供更贴近用户需求的查询体验。这种实现方式不仅提高了用户体验,也为数据库应用的开发带来了更大的灵活性。
11、模糊查询 select * from emp where ename like 'S%'; 该语句将查询emp表中ename字段以S开头的所有记录。 12、备份表 create table emp_bak as select * from emp; 该语句将创建一个备份表emp_bak,并将...
本篇将深入探讨Oracle数据库的基本查询知识,帮助初学者理解如何在Oracle环境中进行数据操作。 一、SQL基础 SQL(结构化查询语言)是用于管理关系数据库的标准语言,Oracle数据库也基于此。基本的SQL语句包括SELECT...
通过在数据库中建立汉语拼音标准表,并利用Java语言和EJB组件,可以有效地解决汉字查询问题,尤其在发音相近的关键字检索方面具有独到之处。这种方法在多个实际场景中具有广泛的应用前景,能够显著提升查询效率和...
**原则四:** 使用通配符(如`LIKE '%...%'`)进行模糊匹配时,ORACLE可能无法使用索引来加速查询过程,尤其是在通配符出现在字符串的开头时。这种情况下,建议尽可能避免使用通配符,或者仅在字符串的末尾使用...
3. **函数转换与前模糊查询**:对字段进行函数转换或前模糊查询通常会导致索引失效,从而进行全表扫描。 #### 五、索引管理 - **主键索引的合理使用**:对于记录数较少的表,只需要保留主键索引即可,过多的索引...
iBATIS模糊查询 iBATIS模糊查询是指使用iBATIS框架实现模糊查询的方法。模糊查询是指在数据库中搜索包含指定字符串的记录,通常...iBATIS模糊查询可以帮助开发者快速实现模糊查询功能,但需要注意安全性和性能问题。
最近在用oracle的过程中用到了对blob字段模糊查询的问题,对oracle来说,我并不是高手,找了很多的资料终于能够查出来了。 blob字段直接用 select * from table_name where column like ‘%%'查找的时候是不能实现...
默认情况下,Delphi的模糊查询可能会遇到性能问题,尤其是在处理大量数据时。例如,使用“%”通配符在索引字段前可能导致全表扫描,这会显著降低查询速度。为了解决这个问题,我们可以采取以下策略: 1. **优化SQL...