oracle 中关于模糊查询的问题!

来源:百度知道 编辑:UC知道 时间:2024/05/10 07:55:05
如果建好一个product表里头设置了id,sortid,name,price,saleprice,descript,contents,saledate,salecount,image属性,然后我想通过JDBC连接的时候的sql语句进行模糊查询,
sql="select * from product where lower(name) like 'ibm%'||'sony%'||'lenovo%'||'dell%'||'asus%'||'apple%'";想通过name属性进行模糊查询,匹对几个电脑品牌的电脑,前面是电脑牌子,后面是通配符(型号),查询的时候,因为用的是DAO工厂模式所以sql该怎么写,请大虾指教,新手,请多多指教!
ORA-00920: 无效的关系运算符
一楼的大虾,关系不符合!
有问题啊!
我qq:496865129
我想具体的资讯一下!希望能够帮助。

你这么写的话,你想模糊查询什么?
所有电脑品牌都||的意思是,name里同时包含那些品牌

select * from product where (lower(name) like 'ibm%' or lower(name) like 'sony%'or lower(name) like 'lenovo%' or lower(name) like 'dell%' or lower(name) like 'asus%' or lower(name) like 'apple%')

用or 的时候最好加上括号,避免逻辑关系的错误

select * from product where lower(name) like 'ibm%' or 'sony%' or 'lenovo%' or 'dell%' or 'asus%' or 'apple%';

oracle中 ||是连接字符。。

select * from product where lower(name) like 'ibm%' or lower(name) like 'sony%' or lower(name) like 'lenovo%' or lower(name) like 'dell%' or lower(name) like 'asus%' or 'apple%'