我正在嘗試一個(gè)帶有變數(shù)的簡(jiǎn)單選擇語(yǔ)句。如果我更改類(lèi)似 concat_ws('%', @S, '%'); 的語(yǔ)句,則該語(yǔ)句可以正常運(yùn)作。到一個(gè)字串??磥?lái) select 語(yǔ)句沒(méi)有選取 SET 變數(shù)。非常感謝您的幫忙。我使用的是Mysql80工作臺(tái)。
SET @S = "product"; SELECT distinct idproducts FROM mgjtest.vorutaflamedsamheit WHERE productname like concat_ws('%', @S, '%'); ````````````````````````````````````````````````````````````````
只需使用 CONCAT
即可確保變數(shù)值兩側(cè)的通配符。否則,先使用 CONCAT_WS
作為分隔符號(hào)的參數(shù)在字串末尾返回雙通配符,相當(dāng)於單通配符並產(chǎn)生不期望的結(jié)果。
LIKE 'product%%' LIKE 'product%'
但是,CONCAT
將依照您的預(yù)期傳回通配符:
LIKE '%product%'