Oracle数据如下:我只想要名字中存在“李白”和"小白"的结果,但是返回数据我只要“李白和小白”
u_id | username | password |
---|---|---|
123 | 李白,baby | 123 |
234 | 达令❤ | 231 |
345 | 小白,lili | 234 |
这也就是今天的主体 ,传入数据作为查询结果,首先要符合查询数据库存在的条件
假如我传入的{“小白”,“李白”,“小明”},一看就知道符合的数据只有李白和小白,到这里大家肯定会想 like
操作是少不了的,但是呢又需要把符合的数据返回来,还要只要传入的数据
<select id="getUserName" parameterType="list" resultType="string">
<foreach collection="list" item="item" index="index" separator="union all" open="(" close=")" >
SELECT DISTINCT #{item} FROM user WHERE
username like '%'||#{item}||'%'
</foreach>
</select>
谨记: Oracle 中like
的条件左右需要加 ||
号
上面sql中注意 我用的是union all