Oracle常见查询模式解析
1. 查找特定文本所在列
在处理数据时,有时我们需要查找包含特定文本的列。比如,我们要查找包含 “Greene” 的列。
- 示例查询 :
select 'HR','EMPLOYEES','EMAIL', EMAIL
from HR.EMPLOYEES
where EMAIL like '%Greene%';
执行上述查询后,可能没有找到匹配的行。但通过另一种方法,我们可以在 HR.EMPLOYEES
表的 LAST_NAME
列中找到 “Greene”。
- 实现原理 :采用两阶段查询方法。
- 第一阶段 :查询 ALL_TAB_COLUMNS
系统视图,找出具有文本数据类型(如 VARCHAR2
或 CHAR
)的列的模式名、表名和列名。查询结构如下:
select
<escaped column, table and schema names for later presentation>,
<actual column name for later querying>,
<escaped from clause for later querying >
&