A | %A% or Name like %a%
B | %B% or Name like %b%
C | %C% or Name like %c%
D | %D% or Name like %d%
E | %E% or Name like %e%
F | %F% or Name like %f%
G | %G% or Name like %g%
1 | Akshay
2 | Akhil
3 | Gautam
4 | Esha
5 | bhavish
6 | Chetan
7 | Arun
[表格说明] [1]:https://i.stack.imgur.com/wvOgr.png
以上是我的两张桌子现在我的查询是(在图片中)
从员工中选择*,Name_condition,其中EMP_NAME喜欢模式
这里查询在语法上是正确的但产生错误的输出。
它将列Pattern作为字符串并在EMP_NAME中搜索它,它将一无所获。
所以我的问题是我们如何将Pattern列中的值作为条件而不是字符串,以便查询将变为这样
从员工中选择*,在姓名条件中选择EMP_NAME,例如'%A%'或名称如'%a%'
我需要的是当我将colunm名称(模式)传递到where条件%A%或名称如%a%整体作为一个字符串,但我想要从员工中选择*,Name_condition,其中EMP_NAME喜欢Pattern
这里列名称模式必须替换为列中的值和查询产生这样的o / p
从员工中选择*,在姓名条件中选择EMP_NAME,例如'%A%'或名称如'%a%'
期望的结果: - 我希望我的结果中的所有行包括 bhavish 但是我们看到我们在列本身中有类似条件,如%B%或名称如%b%
我想要的是它匹配时
EMP_NAME喜欢Pattern
模式的价值必须在内部取代
%B%或名称如%b%
它产生的输出包括 bhavish ,以 b
答案 0 :(得分:0)
尝试:
select *
from employees
where emp_name like '%oh%'
or emp_name like '%a%';
祝你好运。
答案 1 :(得分:0)
从orafaq:
尝试此操作SELECT * FROM employees
WHERE emp_name LIKE '\%a\%' ESCAPE '\';
答案 2 :(得分:0)
它不是那么简单(它不应该)。如果你真的必须使用这样的表,你必须编写一个PL / SQL来处理你的条件。 你必须阅读两件事:
答案 3 :(得分:-2)
尝试放置&&在条件
中代替'和'