我正在尝试使用SQL IN
函数从表中检索信息。
我使用以下select
,我的逻辑是搜索包含缩写'SMS'的字段。但是,查询仅检索“其他服务”
如何只查询字段中的部分值?
这是我正在使用的选择功能:
select product_id ,product_name
from product
where product_name
IN ('Other Services','%SMS%')
我正在使用PL / SQL Developer。目前我只对这个DBMS的解决方案感兴趣。
答案 0 :(得分:4)
尝试:
SELECT product_id,
product_name
FROM product
WHERE product_name = 'Other Services'
OR product_name LIKE '%SMS%';
请注意,某些数据库服务器对LIKE运算符区分大小写。
答案 1 :(得分:0)
通配符租船人“LIKE”不能用于“IN”运算符。你使用它的方式。
获得预期的输出,你可以使用这样的东西。
SELECT product_id, 产品名称 从产品 WHERE product_name ='其他服务' 或product_name LIKE'%SMS%'
OR
SELECT product_id, 产品名称 从产品 WHERE product_name ='其他服务' UNION
SELECT product_id, 产品名称 从产品 WHERE product_name LIKE'%SMS%'
答案 2 :(得分:0)
IN
运算符不接受带通配符的值。而是使用LIKE
运算符。
select product_id ,product_name
from product
where product_name='Other Services'
OR product_name LIKE '%SMS%'