如何在MySQL中LIKE語句中動态傳值

Time:2021/06/25 11:02:00   Click:

在操作MySQL時(shí),我們經(jīng)常用到LIKE這(zhè)樣(yàng)的SQL語句來做匹配與搜索。比如:

SELECT * FROM `shangfox_news` WHERE tag LIKE '%tag%'

這(zhè)裡(lǐ)的‘%tag%’ 我們可以通過(guò)拼接的方式來做,但這(zhè)樣(yàng)我們是預先定義,好(hǎo)的 。如果LIKE匹配的需要動态的重數據庫裡(lǐ)面(miàn)取出來在匹配?


1、取得要匹配的關鍵詞

select name from yi18_cookclass where id =?


2、通過(guò)拼接的方式

SELECT * FROM `yi18_cook` WHERE tag LIKE '%(select name from yi18_cookclass where id =?)%'

我們一看這(zhè)樣(yàng)的SQL就(jiù)不對(duì),當然也沒(méi)有我們需要的結果。但我們可以通過(guò)這(zhè)樣(yàng)的思路做一點小的調整CONCAT()拼接函數:

SELECT * FROM `yi18_cook` WHERE tag LIKE
 CONCAT('%',(select name from yi18_cookclass where id =?),'%')

OK,這(zhè)樣(yàng)就(jiù)友好(hǎo)的使用函數的拼接的方式,實現了KIKE的動态參數。

錦江區聚格樂享網絡工作室-一家服務10年的專業網站制作公司,累計服務客戶400+,用心,隻爲做好(hǎo)每一個網站!

TOP

錦江區聚格樂享網絡工作室@2012 版權所有
蜀ICP備12016524号-2

立即咨詢
成(chéng)都(dōu)網站建設,成(chéng)都(dōu)做網站,錦江區聚格樂享網絡工作室
40f13d50b73e104f832ed1b719ae6935