SQL语句查询不等于怎么查不出来?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL语句查询不等于怎么查不出来?相关的知识,希望对你有一定的参考价值。

一个表aazl 其中有一个字段DYBJ 类型int 其内容一些为空 一些为1 只有这两个
现在写个查询语句
SELECT * FROM aazl WHERE DYBJ = '' 查不出来任何数据
SELECT * FROM aazl WHERE DYBJ != '1' 没有任何数据
SELECT * FROM aazl WHERE DYBJ = '1' 把DYBJ为1的全部查出来了
我想把为空的查出来,如何写where语句??

一般查询不出就是不等于某值时没有数据,并不一定代表语句错误。

在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;

 结果如图:

参考技术A

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;

参考技术B orcale 中,字段为空, 使用 is null.
!='1' 不会取空值。
<> '1' 不会取空值。
之上两种查法是值存在的前提下,进行查询。不包括空。
参考技术C SELECT * FROM aazl WHERE DYBJ is null
SELECT * FROM aazl WHERE DYBJ <>'1'本回答被提问者采纳
参考技术D 使用SELECT * FROM aazl WHERE DYBJ is null

以上是关于SQL语句查询不等于怎么查不出来?的主要内容,如果未能解决你的问题,请参考以下文章

查询mysql两个条件 一个是等于 一个不等于 请问怎么写?

我这个SQL语句进行多表联查时为啥关联字段查不出来?

一条sql语句在两个机器上执行速度不一样的问题

asp中sql查询语句中大于小于怎么表示

MySQL查询语句的不等于怎么写

sql里as出来的数据怎么进行添加判断条件