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