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

标签 mysql wildcard sql-like

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

问题是我需要得到所有结果,不包括以“pdd”开头的结果,我的意思是找到“pdd”不在开头的所有结果。怎么可能?

当它不在列的开头时,我确实需要匹配“pdd”。

最佳答案

我假设您指的是所有匹配“pdd”的行,但“pdd”开头的行除外。

SELECT * FROM table WHERE column LIKE '_%pdd%'.

LIKE 谓词中的“_”通配符表示“任意字符之一”,等同于正则表达式中的“.”。

关于MySQL LIKE 语句在字符串开头以外的任何位置查找子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1918224/

相关文章:

sql - 在 JOIN 查询中使用 LIKE

postgresql - 如何在 Postgresql 中进行 "case-insensitive"查询?

sql - PostgreSQL 查询,LIKE 运算符

php - codeigniter 插入有条件的表

php - 如何从现有表插入?

php - 带有序通配符的 MySQL 搜索,并提取它们的值

正则表达式非贪婪地匹配多行直到以特定字符串开头的行

php - 从mysql中选择数据并按到期日期顺序显示

MySQL 在子查询中从另一个表获取列的计数

apache - 如何让所有子域域在没有通配符的情况下使用一个 SSL