ITPub博客

首页 > 数据库 > > oracle、sqlserver和mysql数据库大话null值

oracle、sqlserver和mysql数据库大话null值

作者:AI中国 时间:2023-02-23 10:35:40 0 删除 编辑

首先对null进行定义:NULL表示的是“a missing unknown value”,而字符串''是一个确定的值。三种数据库对null值的定义都是一样的。

对null值可以按如下8条进行细致理解:

1、等价于没有任何值、是未知数。

2、NULL与0、空字符串、空格都不同,NULL没有分配存储空间。

3、对空值做加、减、乘、除等运算操作,结果仍为空。

4、NULL的处理使用NVL函数。

5、比较时使用关键字用“is null”和“is not null”。

6、空值不能被索引,所以查询时有些符合条件的数据可能查不出来,count(*)中,用nvl(列名,0)处理后再查。

7、排序时比其他数据都大(索引默认是降序排列,小→大),所以NULL值总是排在最后。

8、空字符串:已经分配了存储空间,但是没有存储东西;NULL:没有分配存储空间。


oracle中关于null值处理的函数:

nvl(expr1,expr2);NVL2(expr1,expr2,expr3);decode (expression, search_1, result_1, search_2, result_2, ...., search_n, result_n, default);

sqlserver的null值处理函数:

COALESCE(null,0);

ISNULL(null,0);

mysql的null值处理函数:

IFNULL(expr1,expr2);ISNULL(expr);NULLIF(expr1,expr2)。


本文来源https://www.modb.pro/db/113828

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31560284/viewspace-3136349/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: R base图形绘制
请登录后发表评论 登录
全部评论

注册时间:2019-12-23

  • 博文量
    212
  • 访问量
    2476