那么默认值是不起作用的.
所以,
在插入数据时如果不指定那个字段的值,
那么其值肯定为null.
还有,
数据库字段的运算中,
null与任何值运算的结果都是null,
这点要切记.
可以使用isnull函数指定在其值为null情况下的取值:
update
tablename
set
num
=
isnull(num,
0)
+
接收到的数
where
id=xxx
也可以使用case
when来进行条件判断取值:
update
tablename
set
num
=
(
case
when
num
is
null
then
0
when
num
>
0
then
num
else
小于等于0情况下的值
end
)
+
接收到的数
where
id=xxx
1、创建一张数据库测试表,用于演示null空值的查询。
2、往测试表中插入测试记录,包含一个NULL、空字符串、非空字符串值。
3、查询测试表中的所有数据,select * from tblNullData。
4、在oracle数据库中,null与任何字段相比都会返回false,为此,oracle提供了一个is null词组判断null。从运行结果可以看出,空字符串不是null select * from tblNullData where ColName is null。
5、在oracle数据库中,想要查询非null的值,就需要使用is not null词组判断了。从运行结果可以看出,空字符串的记录行查询出来了select * from tblNullData where ColName is not null。
数据库的NULL和空格看你怎么理解。一般的认为如果用户没有填写过的话就用NULL,如果用户不提供相关数据的话就用空格比较好。NULL的意思大概就是不存在或者是根本没有记录的意思。如果实际应用的话会在存储数据的时候做适当处理,比如if(字段.value==null)之类的处理一下。或者在输出的时候做相关的处理。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)