SQL IN查询近似值

时间:2016-06-10 08:37:01

标签: mysql sql sql-server oracle oracle-sqldeveloper

我正在尝试使用SQL IN函数从表中检索信息。 我使用以下select,我的逻辑是搜索包含缩写'SMS'的字段。但是,查询仅检索“其他服务”

的值

如何只查询字段中的部分值?

这是我正在使用的选择功能:

select product_id ,product_name
from product 
where product_name 
IN ('Other Services','%SMS%')

我正在使用PL / SQL Developer。目前我只对这个DBMS的解​​决方案感兴趣。

3 个答案:

答案 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%'