一般查询不出就是不等于某值时没有数据,并不一定代表语句错误。
在SQL语句中不等于有两种用法,一种是"<>",一种是"!="(均不含引号)。
1、创建测试表,插入数据巧圆返:
create table test
(id int,
name 孝饥varchar(10));
insert into test values (1,'张三');
insert into test values (2,'李四');
2、执腔巧行第一种操作"<>"
select * from test where id<>1;
结果如图:
3、执行第二种操作"!="
select * from test where id<>1;
结果如图:
SELECT * FROM aazl WHERE DYBJ is null
SELECT * FROM aazl WHERE DYBJ <>'1'
因为orcale 中,字段为空, 使用 is null.
!='1' 不会斗察稿取空值。
<> '1' 不会取空值。
之上两种查空孝法是值存在的前提下,进行查询,不包括空。
关于sql语句中不等于的使用
1、sql 里 符号<> 于 != 的区别
<> 与!=都是不等于的意思,但是一般都是用<>来代码不等于因为<>在任何SQL中都起作用但是!=在sql2000中用到,则是语法错误,不兼容的
2、sql中的等于和不等于, '=' ,'!=','<>','is null'....
不等于:<> ,!=,~= ,^= 这四个符号据说都可以在oracle中表示不等于,但是试了之后发现<> ,!= ,^=是可以的,~=不行,需要注意的是,只有<>是标准的sql语法,可以移植,其他的都是oracle平台的特性,移植性较差,所以开发中,尽量使用<>表示不等于。
3、等于:=不用多说,但是要进行null的等于判断时,须使用is null 或is not null,null只能通过is null或者is not null来判断,其它操作符与null操作都是false。
例子,select * from bl_ip_dt where amount <> 800,这条语句查不出amount等于null 的记录,
select * from bl_ip_dt where amount <没歼> 800 or amount is null 才是可以的查询不等于NULL
查询表中aa是null的数据:
select * from table where aa is null;
查询表中aa不等于1的数据:
select * from table where aa <> 1;
orcale 中,字段为空, 使用 is null.
!='搭渣1' 不会取空值。
<> '1' 不会取空旅枝汪值。
之上两种查法是值存在的前拆仔提下,进行查询。不包括空。
SELECT * FROM aazl WHERE DYBJ is null
SELECT * FROM aazl WHERE DYBJ <首亩>'轮慧1'腊芹答
使用SELECT * FROM aazl WHERE DYBJ is null