空字符串与NULL值的区别
“Oracle自己开发了一个数据类型VARCHAR2,这个类型不是一个标准的VARCHAR,它将在数据库中varchar列可以存储空字符串的特性改为存储NULL值。”请问...
“Oracle自己开发了一个数据类型VARCHAR2,这个类型不是一个标准的VARCHAR,它将在数据库中varchar列可以存储空字符串的特性改为存储NULL值。”
请问这里“空字符串”与NULL值是一样的?
谢谢!
'一个空格'这个不算是空值?
另外,”select 1 from dual where null=null;当然就没有记录了“为什么没有记录?是说null不能做=判断? 展开
请问这里“空字符串”与NULL值是一样的?
谢谢!
'一个空格'这个不算是空值?
另外,”select 1 from dual where null=null;当然就没有记录了“为什么没有记录?是说null不能做=判断? 展开
6个回答
展开全部
你可以这么理解
空字符串:已经分配了存储空间,但是没有存储东西
NULL:没有分配存储空间
空字符串:已经分配了存储空间,但是没有存储东西
NULL:没有分配存储空间
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
区别大了。
name==null 是判断name有没有内存空间。
"".equals(name) 是判断name的内存空间中的值是不是空字符串。
没有内存空间的话是不能对变量或对象进行操作的。会出异常。
name==null 是判断name有没有内存空间。
"".equals(name) 是判断name的内存空间中的值是不是空字符串。
没有内存空间的话是不能对变量或对象进行操作的。会出异常。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
空字符串:已经分配了存储空间,但是没有存储东西
NULL:没有分配存储空间
NULL:没有分配存储空间
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在数据库系统中,空值是(什么也没有)。
解释:
所谓的NULL就是什么都没有,连\0都没有,\0在字符串中是结束符,但是在物理内存是占空间的,等于一个字节,而NULL就是连这一个字节都没有。在数据库里是严格区分的,任何数跟NULL进行运算都是NULL, 判断值是否等于NULL,不能简单用=,而要用IS关键字。
空 (NULL)
值表示数值未知(在实际意义中,如果使用null,就是代表变量值是未知的,比如手机号码设为null,说明不知道手机号码是什么)。空值不同于空白或零值。没有两个相等的空值。比较两个空值或将空值与任何其它数值相比均返回未知,这是因为每个空值均为未知。
在写入数据的时候,空字符串也是一个确定的值,所以就算定义了 NOT NULL 也可以被写入。
解释:
所谓的NULL就是什么都没有,连\0都没有,\0在字符串中是结束符,但是在物理内存是占空间的,等于一个字节,而NULL就是连这一个字节都没有。在数据库里是严格区分的,任何数跟NULL进行运算都是NULL, 判断值是否等于NULL,不能简单用=,而要用IS关键字。
空 (NULL)
值表示数值未知(在实际意义中,如果使用null,就是代表变量值是未知的,比如手机号码设为null,说明不知道手机号码是什么)。空值不同于空白或零值。没有两个相等的空值。比较两个空值或将空值与任何其它数值相比均返回未知,这是因为每个空值均为未知。
在写入数据的时候,空字符串也是一个确定的值,所以就算定义了 NOT NULL 也可以被写入。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询