oracle find_in_set
时间: 2023-06-05 13:47:45 浏览: 133
Oracle中没有find_in_set函数,但可以使用REGEXP_LIKE函数来实现类似的功能。例如:
SELECT * FROM table_name WHERE REGEXP_LIKE(column_name, 'value1|value2|value3');
这将返回column_name中包含value1、value2或value3的所有行。
相关问题
Oracle FIND_IN_SET
很抱歉,但是在 Oracle 数据库中没有内置的 FIND_IN_SET 函数。FIND_IN_SET 函数通常在其他数据库系统中用于在逗号分隔的字符串列表中查找特定值的位置。在 Oracle 中,你可以使用其他方法来实现相似的功能。例如,你可以使用 INSTR 函数来检查一个字符串是否包含另一个字符串,然后使用 REGEXP_SUBSTR 函数来获取匹配的位置。以下是一个示例:
SELECT column_name
FROM table_name
WHERE INSTR(',' || comma_separated_list || ',', ',' || search_value || ',') > 0;
在这个示例中,column_name 是你想要检查的列名,table_name 是表名,comma_separated_list 是逗号分隔的字符串列表列,search_value 是要查找的值。请注意,我们在两个字符串前后都添加了逗号,以确保精确匹配。
希望这可以帮助到你!如果有任何进一步的问题,请随时提问。
oracle 替代 find_in_set
在 Oracle 中,可以使用 REGEXP_LIKE 函数来替代 MySQL 中的 find_in_set 函数。REGEXP_LIKE 函数用于在字符串中查找匹配的模式。
例如,假设有一个表格名为 data,包含一个名为 values 的列,存储了逗号分隔的值。我们想要查找包含特定值的行。可以使用以下查询来实现类似于 find_in_set 的功能:
```sql
SELECT *
FROM data
WHERE REGEXP_LIKE(values, '(^|,)(value)(,|$)')
```
在上述查询中,将 "value" 替换为要查找的特定值。这个正则表达式模式将匹配以逗号开头或结尾,或者被逗号包围的值。
希望以上信息能对你有所帮助!如有其他问题,请随时提问。
阅读全文