oracle中如何判断字段为空??

时间:2022-06-02 17:07:03
在a表中选择所有name字段为空(null)的语句怎么写?

还有一个是

在a表中选择所有name字段为 ''(就是什么也没有,但不为空null的) 的语句怎么写?

26 个解决方案

#1


oracle认为''就是null。不信你试试。

#2


name=''

#3


这么简单的问题没人知道吗?

#4


where fieldname is null

#5


是‘ ’呢,还是NULL呢?NULL 就是‘’吧

#6


什么也没有就是null,你输入进去字符串或数字,再删除还是用null表示
select * from a where name is null

#7


那么Oracle中没有 ''这个吗? 只有Null?

MSsql2000中就有''也有null的啊??

#8


在oracle里
''就是 NULL
NULL 就是 ''

判断
select name from table where name is NULL;
select name from table where name is NOT NULL;

#9


ORACLE
里面 '' 和 NULL是一回事
在MySQL和SQL Server(也就是MSSQL)里面, ''和NULL不一样的

#10


明白了。今天又学到了。谢

#11


is null

#12


用insert into tablename(fieldname1) values('')
再用select * from tablename where fieldname1 = ''这样是查不出刚刚插进去的数据的,
要用select * from tablename where fieldname1 is null
^_^

#13


null 和 '' 是不一样的,也许高版本的ORACLE认为是一样的吧

#14


null 和 '' 不一样,除非是字符型

#15


楼上的兄弟/姐妹
能不能举个例子^_^

#16


nvl(fieldname,0)

#17


SQL> select nvl('',0) from dual;

N
-
0

SQL> select nvl(NULL,0) from dual;

NVL(NULL,0)
-----------
          0
有什么区别吗?

#18


一直认为NULL和''是不一样的,最好是
where ...and  (c1='' or c1 is null) and ......

#19


if fieldname='' then ..和if fieldname=' ' then ..不一样,后者表示是个空格,前者表示是空;

#20


在oracle中. null 不等于 null的.null也不等于''

select * from table_test where 字段=null    将得不到任何数据.,
select * from table_test where 字段 is null   <---正确.

select * from table_test where 字段=''   <--也得不到正确的结果 

#21


select * from table_test where 字段=''   
这样不行的,得不到正确结果

还是要使用is null

#22


to dinya2003(OK)
如你所说
那我现在要求往表里插入值为 ''的记录,并且把值为 ''的记录select出来。。

  '' 就是 NULL
但是不能这样查  where field='' 要写成 is null 的形式。。

“select * from table_test where 字段=null    将得不到任何数据.,”
=================================
这是概念问题了,对于NULL值,oracle语法规定必须是 IS NULL来判断,而不是=NULL
写成=NULL当然不对了

#23


明白了。

#24


name is null

#25


is null;最能体现是否为空

#26


如果字段為char或varchar的時候﹐'  '和''﹑null是不同的

#1


oracle认为''就是null。不信你试试。

#2


name=''

#3


这么简单的问题没人知道吗?

#4


where fieldname is null

#5


是‘ ’呢,还是NULL呢?NULL 就是‘’吧

#6


什么也没有就是null,你输入进去字符串或数字,再删除还是用null表示
select * from a where name is null

#7


那么Oracle中没有 ''这个吗? 只有Null?

MSsql2000中就有''也有null的啊??

#8


在oracle里
''就是 NULL
NULL 就是 ''

判断
select name from table where name is NULL;
select name from table where name is NOT NULL;

#9


ORACLE
里面 '' 和 NULL是一回事
在MySQL和SQL Server(也就是MSSQL)里面, ''和NULL不一样的

#10


明白了。今天又学到了。谢

#11


is null

#12


用insert into tablename(fieldname1) values('')
再用select * from tablename where fieldname1 = ''这样是查不出刚刚插进去的数据的,
要用select * from tablename where fieldname1 is null
^_^

#13


null 和 '' 是不一样的,也许高版本的ORACLE认为是一样的吧

#14


null 和 '' 不一样,除非是字符型

#15


楼上的兄弟/姐妹
能不能举个例子^_^

#16


nvl(fieldname,0)

#17


SQL> select nvl('',0) from dual;

N
-
0

SQL> select nvl(NULL,0) from dual;

NVL(NULL,0)
-----------
          0
有什么区别吗?

#18


一直认为NULL和''是不一样的,最好是
where ...and  (c1='' or c1 is null) and ......

#19


if fieldname='' then ..和if fieldname=' ' then ..不一样,后者表示是个空格,前者表示是空;

#20


在oracle中. null 不等于 null的.null也不等于''

select * from table_test where 字段=null    将得不到任何数据.,
select * from table_test where 字段 is null   <---正确.

select * from table_test where 字段=''   <--也得不到正确的结果 

#21


select * from table_test where 字段=''   
这样不行的,得不到正确结果

还是要使用is null

#22


to dinya2003(OK)
如你所说
那我现在要求往表里插入值为 ''的记录,并且把值为 ''的记录select出来。。

  '' 就是 NULL
但是不能这样查  where field='' 要写成 is null 的形式。。

“select * from table_test where 字段=null    将得不到任何数据.,”
=================================
这是概念问题了,对于NULL值,oracle语法规定必须是 IS NULL来判断,而不是=NULL
写成=NULL当然不对了

#23


明白了。

#24


name is null

#25


is null;最能体现是否为空

#26


如果字段為char或varchar的時候﹐'  '和''﹑null是不同的