当前位置: 首页 > 图文教程 > 数据库 > Oracle > 使用Instr()与decode()进行多条件组合查询

Oracle
Oracle数据库索引创建要做到三个适当
解析Oracle中的概念:同义词、序列与视图
讲解七种数据库中Select Top的使用方法
浅谈在Windows环境下Kill掉Oracle的线程
OracleDatabaseLinks的实现方法
合理创建Oracle数据库的索引
关于PGA的功能
Oracle教程:SecureFile的功能
Oraclesequence在Hibernate如何使用
找回消失的联机日志文件
控制文件对于Oracle的重要性
对于Oracle的错误印象
Oracle批量fetch的小技巧
如何彻底的删除Oracle表
Oracle数据库中创建合理的数据库索引
Oracle数据库中数据如何存储
解决Oracle性能优化中的问题
Oracle 基本知识轻松学
Oracle认证:利用bulkcollect实现cursor批量fetch
控制文件多路复用保证Oracle数据库正常运行

Oracle 中的 使用Instr()与decode()进行多条件组合查询


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-31   浏览: 78 ::
收藏到网摘: n/a

    系统中遇到了要处理多条件组合查询的情况,好比说有4个独立的条件,那么组合出的查询条件便有24种,不可能写24条Sql语句再分别指定给24种组合情况吧,条件数再多点呢,人都会搞疯的。。。。于是我求助于高手,获得了使用instr()和decode()函数的实现方法。

    下面先说明一下instr()的功能和语法:(函数的语法是从http://www.techonthenet.com/oracle/functions/index.htm处得到的,相当清晰明了:)

In Oracle/PLSQL, the instr function returns the location of a substring in a string.

The syntax for the instr function is:

instr (string1, string2, [start_position], [nth_appearance])

string1 is the string to search.

string2 is the substring to search for in string1.

start_position is the position in string1 where the search will start.  This argument is optional.  If omitted, it defaults to 1.  The first position in the string is 1.  If the start_position is negative, the function counts back start_position number of characters from the end of string1 and then searches towards the beginning of string1.

nth_appearance is the nth appearance of string2.  This is optional.  If omiited, it defaults to 1.

再说明一下decode()的功能和语法:

In Oracle/PLSQL, the decode function has the functionality of an IF-THEN-ELSE statement.

The syntax for the decode function is:

decode ( expression , search , result [, search , result]... [, default] )