oracle sql not like
时间: 2024-07-19 08:01:19 浏览: 143
Oracle SQL 的 `NOT LIKE` 是一个用于模式匹配的操作符,它用于从表中选择出不符合指定模式的所有行。这个操作符常用于搜索那些不包含、不开始于或不以特定字符串或模式结束的数据。它的基本语法如下:
```sql
SELECT column_name(s)
FROM table_name
WHERE column_name NOT LIKE pattern;
```
这里的 `pattern` 可以包含两个通配符:
1. `%` - 代表零个、一个或多个字符,可以匹配任意数量的字符,包括空字符。
2. `_` - 代表单个字符,只能匹配一个特定字符。
例如,如果你想查找所有名字不是以 "A" 开始的员工:
```sql
SELECT * FROM employees WHERE name NOT LIKE 'A%';
```
如果你想查找所有地址中不包含 "New York" 的记录:
```sql
SELECT * FROM addresses WHERE address NOT LIKE '%New York%';
```
相关问题
oracle sql语法 not like多条件
在 Oracle SQL 中,如果要使用 NOT LIKE 并且有多个条件,可以使用 AND 或 OR 连接多个 NOT LIKE 语句。
例如,要查询所有名称不包含 "a" 或 "b" 的员工,可以使用以下语句:
```
SELECT * FROM employees WHERE name NOT LIKE '%a%' OR name NOT LIKE '%b%';
```
另一个例子,查询所有名称不包含 "a" 并且不包含 "b" 的员工,可以使用以下语句:
```
SELECT * FROM employees WHERE name NOT LIKE '%a%' AND name NOT LIKE '%b%';
```
请注意,在这两个例子中,在查询中使用了 `%` 符号,它是用来做模糊查询的。
oracle regexp_not like
Oracle does not have a built-in function called `regexp_not like`. However, you can achieve a similar result by using the negation operator (`NOT`) with the `REGEXP_LIKE` function. Here's an example:
```sql
SELECT *
FROM your_table
WHERE NOT REGEXP_LIKE(your_column, 'your_pattern');
```
In the above query, `your_table` is the name of your table, `your_column` is the column you want to match against the regular expression pattern, and `your_pattern` is the regular expression pattern you want to exclude.
This query will return all the rows where the column value does not match the specified regular expression pattern.
阅读全文