用mysql FIND_IN_SET 查询字段path ‘0-1-8-22-49-75’中是否有49,如果存在返回所在行id
时间: 2023-09-20 22:06:14 浏览: 198
### 回答1:
可以使用以下SQL语句实现:
```
SELECT id FROM table_name WHERE FIND_IN_SET(49, path)>0;
```
其中"table_name"为表名,"id"为需要返回的行的id,"path"为存储路径的字段。
### 回答2:
使用MySQL中的FIND_IN_SET函数可以查询一个字段中是否包含特定的值,然后返回该值在字段中的位置。
首先,创建一个示例表格,假设该表格名为`example_table`,包含两个字段:`id`和`path`。
id | path
---|-----
1 | 0-1-8-22-49-75
2 | 0-1-8-22-75
3 | 0-1-8-22
4 | 0-1-8-22-49
我们可以使用以下SQL查询来找到`path`字段中是否包含49,并返回所在行的`id`:
```mysql
SELECT id
FROM example_table
WHERE FIND_IN_SET('49', path) > 0;
```
该查询使用了`FIND_IN_SET`函数来检查每一行的`path`字段是否包含了值为49的路径。`FIND_IN_SET`函数返回值大于0表示找到了匹配的值,在这种情况下,我们将返回该行的`id`。
对于我们的示例表格,上述查询将返回以下结果:
id
-
1
4
这意味着在`path`字段'0-1-8-22-49-75'中存在值为49的路径,并且对应的行`id`为1。
### 回答3:
使用MySQL的FIND_IN_SET函数可以快速查询目标字段path中是否存在指定的值49,并返回其所在行的id。以下是查询操作的SQL语句:
```
SELECT id
FROM 表名
WHERE FIND_IN_SET('49', path) > 0;
```
其中,'表名'是你要查询的表的名称,可以根据实际情况进行替换。
在这个查询语句中,我们使用FIND_IN_SET函数来执行查询。函数的第一个参数是要查找的值49,第二个参数是要进行查找的字段path。若能在字段path中找到值为49,则返回其索引值,否则返回0。通过判断返回值是否大于0,可以确定是否存在该值。
如果查询成功,返回的结果将是包含所有满足条件的行id值的结果集。你可以根据实际需求进行处理和使用。
阅读全文