MySQL:只匹配关键字字符串表中字符串中的精确字符串



我试图在只有确切单词匹配的情况下将表中的单词匹配到字符串,到目前为止,我只能通过使用LIKE语句获得非常松散的匹配,它匹配大多数内容,但问题是它也匹配我试图避免的部分单词。

并不总是有领先或落后的空间

SQL查询

SELECT GROUP_CONCAT(`keys` SEPARATOR ',')
FROM `table_keys`
WHERE "We Have One Cardboard Train Wheel" LIKE CONCAT('%', `keys`, '%');

table_keys

| keys      |
|-----------|
| Car       |
| Wheel     |
| Roof      |

返回两个匹配,即Car, Wheel,这在技术上是正确的,但我只希望它在整个单词存在的情况下匹配。

电流输出

Car,Wheel

所需输出

Wheel

正则表达式是字符串

CREATE TABLE table_keys (
`keys` VARCHAR(5)
);
INSERT INTO table_keys
( `keys`)
VALUES
('Car'),
( 'Wheel'),
( 'Roof');
SELECT GROUP_CONCAT(`keys` SEPARATOR ',') AS "keys"
FROM `table_keys`
WHERE "We Have One Cardboard Train Wheel"  
regexp CONCAT('(^|[[:space:]])',`keys`,'([[:space:]]|$)')
|键||:----||轮子|

db<gt;小提琴这里

相关内容

  • 没有找到相关文章

最新更新