select *
from DEMO_ORDER_ITEMS
where (
ORDER_ITEM_ID like '%1%' ||
ORDER_ID like '%1%' ||
PRODUCT_ID like '%1%' ||
UNIT_PRICE like '%1%'
);
这是从所有列中搜索和从数据库中获取搜索记录的正确查询吗?
答案 0 :(得分:2)
您可能需要OR
:
select *
from DEMO_ORDER_ITEMS
where (
ORDER_ITEM_ID like '%1%' OR
ORDER_ID like '%1%' OR
PRODUCT_ID like '%1%' OR
UNIT_PRICE like '%1%'
);
请注意,此处不需要括号;但是,正如Matthew McPeak所注意到的那样,他们没有给出任何问题,如果您需要在AND
中添加其他条件到现有的OR
条件,它们会很有用。
||
是concatenation in Oracle的运算符;例如:
SQL> select 'a' || 'b' from dual;
'A
--
ab