MySQL LIKE语句在除字符串开头之外的任何位置查找子字符串

Ant*_*ony 12 mysql wildcard sql-like

我有一个SQL查询SELECT * FROM table WHERE column LIKE '%pdd%'.

问题是我需要得到所有结果,不包括那些以"pdd"开头的结果,我的意思是找到"pdd"不在开头的所有内容.怎么可能呢?

当它不在列的开头时,我需要匹配"pdd".

Bil*_*win 22

我假设你的意思是所有匹配"pdd"的行,除了"pdd"在开头的那些行.

SELECT * FROM table WHERE column LIKE '_%pdd%'.
Run Code Online (Sandbox Code Playgroud)

谓词中的" _"通配符LIKE表示"任何字符之一",相当于.正则表达式中的" ".


quo*_*soo 5

如果我正确理解您的要求,您需要的是:

SELECT * FROM table WHERE column LIKE '%pdd_%' and column NOT LIKE 'pdd_%'
Run Code Online (Sandbox Code Playgroud)