將在MySQL 8的SELECT語句中傳遞變數
P粉764836448
P粉764836448 2024-02-17 20:03:04
0
1
517

我正在嘗試一個帶有變數的簡單選擇語句。如果我更改類似 concat_ws('%', @S, '%'); 的語句,則該語句可以正常運作。到一個字串。看來 select 語句沒有選取 SET 變數。非常感謝您的幫忙。我使用的是Mysql80工作台。

SET @S = "product";
SELECT distinct idproducts FROM mgjtest.vorutaflamedsamheit
WHERE productname like concat_ws('%', @S, '%');
````````````````````````````````````````````````````````````````

P粉764836448
P粉764836448

全部回覆(1)
P粉128563140

只需使用 CONCAT 即可確保變數值兩側的通配符。否則,先使用 CONCAT_WS作為分隔符號的參數在字串末尾返回雙通配符,相當於單通配符並產生不期望的結果。

LIKE 'product%%'

LIKE 'product%'

但是,CONCAT 將依照您的預期傳回通配符:

LIKE '%product%'
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板