MySQL选择使用通配符(但在字段中使用通配符)

Mic*_*uis 9 mysql select wildcard

我有一个带有char字段的mysql 5表

DOG
DOUG
CAT
MOUSE
Run Code Online (Sandbox Code Playgroud)

现在我想在这个字段上选择SELECT,找到字符串中存在该字段的任何行,例如"DOGGY".(这与您通常使用通配符的方式相反).所以我想要一个像下面这样的选择: SELECT FROM TABLE WHERE FIELD是"DOGGY"的替代品

这可能吗?

gor*_*rdy 17

select * from mytable where 'doggy' like concat('%',mycol,'%')
Run Code Online (Sandbox Code Playgroud)


Pau*_*ora 7

你应该能够LOCATE()用来实现这个目标:

SELECT * FROM MyTable WHERE LOCATE(MyField, 'DOGGY') != 0;
Run Code Online (Sandbox Code Playgroud)

  • 只是玩这个功能,似乎按要求/ upvote工作 (2认同)