oracle sql语法 多条件不匹配
时间: 2023-09-16 15:12:16 浏览: 89
在 Oracle SQL 中,可以使用 "AND" 或 "OR" 操作符来组合多个条件进行不匹配查询。
例如,要查询表中 "age" 不等于 25 且 "name" 不等于 'John' 的记录,可以使用如下语法:
```
SELECT * FROM table_name
WHERE age != 25 AND name != 'John';
```
或者查询表中 "age" 不等于 25 或 "name" 不等于 'John' 的记录,可以使用如下语法:
```
SELECT * FROM table_name
WHERE age != 25 OR name != 'John';
```
注意: 使用NOT IN 或 NOT EXISTS 会更快
相关问题
oracle sql在字符串中匹配到指定字符串的位置,取出该位置后面的指定位数的字符串
您好!对于Oracle SQL,同样可以使用SUBSTR和INSTR函数来实现。具体语法如下:
```
SELECT SUBSTR(column_name, INSTR(column_name, '指定字符串') + 指定位置, 指定位数)
FROM table_name
```
其中,column_name为要匹配的字符串列名,'指定字符串'为要查找的字符串,指定位置为从匹配到的位置开始往后数的位数,指定位数为要取出的字符串的长度。
例如,假设要在名为person的表中查找姓名列中包含'John'的记录,并取出'John'后面的5个字符,可以使用以下SQL语句:
```
SELECT SUBSTR(name, INSTR(name, 'John') + 4, 5)
FROM person
WHERE INSTR(name, 'John') > 0
```
这样就可以得到符合条件的记录中,姓名列中'John'后面的5个字符了。请注意,在Oracle SQL中,INSTR函数返回的是从左往右数的位置,因此不需要像SQL Server中一样在匹配位置上加1。同时,WHERE语句中需要添加INSTR(name, 'John') > 0的条件,以排除那些不包含'John'的记录。
阅读全文