如何匹配MySQL中的一个字符代替%?

Maz*_*med 32 mysql

在以下SQL中:

SELECT * FROM X WHERE Y LIKE "%s";
Run Code Online (Sandbox Code Playgroud)

'%'将匹配之前的任何字符%.该s%,x,xx,等.

是否有任何符号只匹配一个字符,如:

SELECT * FROM X WHERE Y LIKE "?s"
Run Code Online (Sandbox Code Playgroud)

哪里xrf只匹配一个字符,如'a','b','c'等?

Joe*_*lli 48

您想使用下划线(_)字符.请参阅此处的文档.


krt*_*tek 18

_ 将恰好匹配一个字符:

select * from X where Y like "_s"
Run Code Online (Sandbox Code Playgroud)


Jam*_*mes 5

如果您知道要匹配的字符域,则可以轻松地执行此操作:

select * from X where Y like '[a-z]s'
Run Code Online (Sandbox Code Playgroud)

或者像这样

select * from X where Y like '[a-zA-Z0-9]s'
Run Code Online (Sandbox Code Playgroud)

或者您可以使用_(下划线)语法,如下所示:

select * from X where Y like '_s'
Run Code Online (Sandbox Code Playgroud)

  • 使用`[az]`似乎不适用于`LIKE`,我想它只适用于`REGEXP` (8认同)