我正在尝试一个带有变量的简单选择语句。如果我更改类似 concat_ws('%', @S, '%'); 的语句,则该语句可以正常工作。到一个字符串。看来 select 语句没有选取 SET 变量。非常感谢您的帮助。我使用的是Mysql80工作台。
SET @S = "product"; SELECT distinct idproducts FROM mgjtest.vorutaflamedsamheit WHERE productname like concat_ws('%', @S, '%'); ````````````````````````````````````````````````````````````````
P粉1285631402024-02-18 00:11:42
只需使用 CONCAT
即可确保变量值两侧的通配符。否则,先使用 CONCAT_WS
作为分隔符的参数在字符串末尾返回双通配符,相当于单通配符并产生不期望的结果。
LIKE 'product%%' LIKE 'product%'
但是,CONCAT
将按照您的预期返回通配符:
LIKE '%product%'