MySQL查询以选择具有LIKE的行并创建包含匹配字符串的新列

MySQL查询以选择具有LIKE的行并创建包含匹配字符串的新列,mysql,select,compare,match,sql-like,Mysql,Select,Compare,Match,Sql Like,我需要一些关于MySQL查询的帮助,我现在正在挣扎一段时间 因此,我试图创建一个MySQL查询,从表中选择符合特定字符串(如app)的行。 我的桌子是这样的: +-----+--------------+ | id | name | +-----+--------------+ | 1 | Green Apple | | 2 | Big Orange | | 3 | application | +-----+--------------+ SELECT *

我需要一些关于MySQL查询的帮助,我现在正在挣扎一段时间

因此,我试图创建一个MySQL查询,从表中选择符合特定字符串(如
app
)的行。 我的桌子是这样的:

+-----+--------------+
| id  | name         |
+-----+--------------+
|   1 | Green Apple  |
|   2 | Big Orange   |
|   3 | application  |
+-----+--------------+
SELECT *, 'what_to_put?' as new_column FROM table WHERE name LIKE '%".$app."%'
我可以通过
SELECT
LIKE
找到包含
app
字符串的所有行

但是,我还想创建一个新列,其中包含与
app
匹配的
name
列中的字符串,并保留数据库区分大小写的格式,即,使用
app
作为匹配短语,新列将根据
name
中的字符串格式包含
app
app
实体

到目前为止,我的问题是这样的:

+-----+--------------+
| id  | name         |
+-----+--------------+
|   1 | Green Apple  |
|   2 | Big Orange   |
|   3 | application  |
+-----+--------------+
SELECT *, 'what_to_put?' as new_column FROM table WHERE name LIKE '%".$app."%'
所需的输出如下:

+-----+--------------+-------------+
| id  | name         | new_column  |
+-----+--------------+-------------+
|   1 | Green Apple  |     App     |
|   2 | application  |     app     |
+-----+--------------+-------------+

知道如何实现这一点吗?

如果没有单独的正则表达式库,则需要使用内置函数查找匹配项的名称,然后提取匹配项:

结果如下:

+----+-------------+------------+
| id |    name     | new_column |
+----+-------------+------------+
|  1 | Green Apple | App        |
|  3 | application | app        |
+----+-------------+------------+

谢谢你,伙计!伟大的解决方案,正是我所需要的!