重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
null表示的含义是未知,即不知道有没有。 和‘’空字符串不等,因为空字符串相当于没有值。 null代表的是不知道有没有值。 所以在数据查询中如果字段默认值是null,想查询出不等于某个条件的一定要加上——字段名 is null 或者字段名 is not null来...
成都创新互联自成立以来,一直致力于为企业提供从网站策划、网站设计、成都网站设计、网站制作、电子商务、网站推广、网站优化到为企业提供个性化软件开发等基于互联网的全面整合营销服务。公司拥有丰富的网站建设和互联网应用系统开发管理经验、成熟的应用系统解决方案、优秀的网站开发工程师团队及专业的网站设计师团队。
"空值"是对null值的中文叫法,两者同指一个东西。 我想是想弄清楚null(空值)与零长度字符串''(或称为空字符串)之间的区别。
delimiter
//
DROP TABLE if exists test
//
CREATE TABLE test(
id
int(11) NULL
)
//
/********************** 最简单的一个存储过程
drop procedure if exists
sp//
CREATE PROCEDURE
sp() select 1
//
call
sp()//
/********************* 带输入参数的存储过程
如果是在数据库中判断参数,是在存储过程过程自定义function中么?数据库里面普通的SQL没法传递参数的。
以Mysql数据库为例。
在存储过程中使用判断一个参数,例参数为vtitle
Select a.*
from trn_res_courseware a
where 1 = 1 and
IF (vtitle is NULL, 0 = 0, a.title like CONCAT('%'+vtitle+'%'));
vtitle 是参数。
如果参数为空,则不执行(0=0永远成立),
不为空,则执行 a.title like CONCAT('%'+vtitle+'%')) 查询条件。
null 即为空的意思,说明表中的某个字段没有赋值时的默认值,即该字段没有值
"空值"是对null值的中文叫法,两者同指一个东西。
我想楼主是想弄清楚null(空值)与零长度字符串''(或称为空字符串)之间的区别。
在代码里"零长度字符串"用一对没有间隔的英文引号''表示,它的数据类型是明确的即属于字符型,存储"零长度字符串"是要占用物理磁盘空间的;
而null值其数据类型是未知的,它不会占用物理磁盘空间。
在不存在约束限制的情况我们可以将Null值插入任何数据类型的字段里,而零长度字符串''只能插入到字符型数据类型字段中,插入其它类型字段会报错。
我们通过实测看看null(空值)与零长度字符串''(或称为空字符长)之间的区别:
1)输出所有的记录
select * from students;
注意:此例输出源表中的全部记录,含null(空值)和零长度字符串''.
2)输出电话为Null(空值)的记录
select * from students where phone is null;
注意:此例只输出含Null(空值)的记录
3)输出电话为零长度字符串的记录
select * from students where phone='';
注意:此例只输出含零长度字符串的记录。
4)输出电话不是零长度字符串的记录
select * from students where phone'';
注意:此例MySQL的处理方式有些特别,连含Null值得记录也排除掉了,这与MSSQL的处理方式有点不一致。
5)输出电话不为空的记录
select * from students where phone is not null;
注意:此例只要不含Null值的记录都予以输出