Oracle SQL 如何检查一个字段是否具有特定值

问题描述 投票:0回答:1

我有一个正在尝试编写的查询,我需要找到其中包含特殊字符的数据。

我知道如何使用 like '%example%',但我想搜索多个特殊字符而不是几个(我可以使用 OR),所以我创建了一个新表,其中包含我正在查找的所有特殊字符对于.

例如: 从表 1 中选择 * 其中 field1 喜欢 '%*%' 或字段 1,如“%$%” . . . 所以这是我的问题:我可以使用我在上面的查询中创建的表来避免编写多行代码吗?

谢谢。

sql oracle forms plsql oracle11g
1个回答
0
投票

这是一个选项。

样表:

SQL> select ename, job from emp order by job, ename;

ENAME      JOB
---------- ---------
FORD       ANALYST
SCOTT      ANALYST
ADAMS      CLERK
JAMES      CLERK
MILLER     CLERK
SMITH      CLERK
BLAKE      MANAGER
CLARK      MANAGER
JONES      MANAGER
KING       PRESIDENT
ALLEN      SALESMAN
MARTIN     SALESMAN
TURNER     SALESMAN
WARD       SALESMAN

14 rows selected.

这是您的“新”表,包含您要在上面示例表的列中搜索的字符串:

SQL> select * from test;

WORD
----
GER
LER

这是查询 - 搜索其工作包含存储在

test
表中的“单词”的员工:

SQL> select e.ename, e.job
  2  from emp e join test t on instr(e.job, t.word) > 0;

ENAME      JOB
---------- ---------
JONES      MANAGER
BLAKE      MANAGER
CLARK      MANAGER
SMITH      CLERK
ADAMS      CLERK
JAMES      CLERK
MILLER     CLERK

7 rows selected.

SQL>
© www.soinside.com 2019 - 2024. All rights reserved.