WHERE FIND_IN_SET
时间: 2024-01-18 07:03:42 浏览: 100
在MySQL中,FIND_IN_SET函数用于在逗号分隔的字符串中查找指定的值。它的语法如下:
```sql
FIND_IN_SET(value, string)
```
其中,value是要查找的值,string是逗号分隔的字符串。该函数返回值为0或大于0的整数,表示找到了值的位置,如果未找到则返回0。
以下是一个示例,演示了如何在WHERE子句中使用FIND_IN_SET函数:
```sql
SELECT * FROM table_name WHERE FIND_IN_SET('2', column_name) > 0;
```
上述示例中,我们在表table_name中的column_name列中查找值为2的记录。
请注意,FIND_IN_SET函数的性能可能不是很高,因为它需要对逗号分隔的字符串进行拆分和比较。如果可能的话,最好将数据存储为规范化的形式,以便更有效地进行查询。
相关问题
where FIND_IN_SET
`FIND_IN_SET`是一个MySQL函数,它用于在一个字符串列表(由逗号分隔)中查找指定值的位置。这个函数主要用于查询操作,当你需要检查某个特定的值是否存在于一个预定义的值集合中时非常有用。
基本语法是这样的:
```sql
FIND_IN_SET(value, string_column)
```
- `value`: 需要查找的值。
- `string_column`: 要搜索的列,该列应包含逗号分隔的值列表。
例如,如果你有一个名为`tags`的字段,存储用户兴趣的逗号分隔字符串,你可以这样查询:
```sql
SELECT * FROM users WHERE FIND_IN_SET('music', tags);
```
这将返回所有对"音乐"感兴趣的用户。
select * from tmhnt05 where FIND_IN_SET('6120', attr1) > 0;在oracle中这个FIND_IN_SET函数用什么代替
在Oracle数据库中,`FIND_IN_SET`函数并不存在。要实现类似的功能,可以使用`REGEXP_LIKE`函数或者通过字符串分割和连接来实现。以下是两种常见的方法:
### 方法一:使用 `REGEXP_LIKE`
假设`attr1`字段中的值是以逗号分隔的字符串,可以使用`REGEXP_LIKE`函数来查找包含特定值的记录。
```sql
SELECT *
FROM tmhnt05
WHERE REGEXP_LIKE(attr1, '(^|,)6120(,|$)');
```
### 方法二:使用字符串分割和连接
可以通过自定义函数或者使用`CONNECT BY`来分割字符串并查找包含特定值的记录。
```sql
SELECT *
FROM tmhnt05
WHERE ',' || attr1 || ',' LIKE '%,6120,%';
```
### 方法三:使用 `XMLTABLE`
如果`attr1`字段中的值是以逗号分隔的字符串,可以使用`XMLTABLE`函数来分割字符串并查找包含特定值的记录。
```sql
SELECT t.*
FROM tmhnt05 t
JOIN (
SELECT id, TRIM(COLUMN_VALUE) AS value
FROM tmhnt05,
XMLTABLE(('"' || REPLACE(attr1, ',', '","') || '"'))
) x ON t.id = x.id
WHERE x.value = '6120';
```
以上方法都可以在Oracle数据库中实现类似`FIND_IN_SET`的功能。根据具体的数据库结构和数据量,可以选择最适合的方法。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)