oracle中得case when中when语句可以使用CONTAINS函数么
时间: 2023-07-25 16:41:39 浏览: 170
在Oracle中,CASE WHEN语句中的WHEN条件可以使用CONTAINS函数,但需要注意以下几点:
1. CONTAINS函数需要在SELECT语句中使用,因此需要将CASE WHEN语句嵌套在SELECT语句中。
2. CONTAINS函数需要指定表名称和列名称,因此需要将其嵌套在FROM语句中。
3. CONTAINS函数返回的是一个匹配项的数量,因此需要将其与0进行比较来判断是否存在匹配项。
例如,假设我们有一个表employee,其中包含一个名为name的列,我们想要在CASE WHEN语句中判断name列中是否包含某个字符串,可以使用以下语句:
```
SELECT
CASE
WHEN CONTAINS((SELECT name FROM employee), 'search_string') > 0 THEN 'found'
ELSE 'not found'
END
FROM dual;
```
该语句中使用了子查询获取name列的值,并将其作为第一个参数传递给CONTAINS函数,第二个参数为要查找的字符串。如果存在匹配项,则CONTAINS函数返回一个大于0的数值,此时WHEN条件为真,返回'found';否则返回'not found'。
阅读全文