• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

MariaDB 空值

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

使用NULL值时,请记住它们是未知值。 它们不是空字符串或零,它们是有效值。 在表创建中,列规范允许将它们设置为接受空值,或拒绝它们。 只需使用NULL或NOT NULL子句。 这在缺少记录信息(如ID号)的情况下具有应用。

用户定义的变量的值为NULL,直到显式赋值。 存储的例程参数和局部变量允许将值设置为NULL。 当局部变量没有默认值时,它的值为NULL。

NULL不区分大小写,并具有以下别名 - 

  • UNKNOWN(布尔值)
  • \ N

NULL运算符

标准比较运算符不能与NULL(例如,=,>,> =,<=,<或或!=)一起使用,因为所有与NULL值的比较都返回NULL,而不是true或false。 与NULL或可能包含它的比较必须使用“<=>”(NULL-SAFE)运算符。

其他可用的运营商有 - 

  • IS NULL - 它测试NULL值。

  • IS NOT NULL - 它确认不存在NULL值。

  • ISNULL - 在发现NULL值时返回值1,在不存在时返回0。

  • COALESCE - 返回列表的第一个非NULL值,或者在没有一个值的情况下返回NULL值。

对NULL值排序

在排序操作中,NULL值具有最低值,因此DESC次序在底部产生NULL值。 MariaDB允许为NULL值设置更高的值。

有两种方法可以做到这一点,如下所示 -

SELECT column1 FROM product_tbl ORDER BY ISNULL(column1), column1;

另一种方式 -

SELECT column1 FROM product_tbl ORDER BY IF(column1 IS NULL, 0, 1), column1 DESC;

NULL函数

当任何参数为NULL时,函数通常输出NULL。 但是,还有专门用于管理NULL值的函数。 他们是 - 

  • IFNULL() - 如果第一个表达式不为NULL,它返回它。 当它求值为NULL时,它返回第二个表达式。

  • NULLIF() - 当比较的表达式相等时,它返回NULL,否则返回第一个表达式。

像SUM和AVG的函数忽略NULL值。

插入NULL值

在声明为NOT NULL的列中插入NULL值时,会发生错误。 在默认SQL模式下,NOT NULL列将根据数据类型插入一个默认值。

当字段是TIMESTAMP,AUTO_INCREMENT或虚拟列时,MariaDB会以不同方式管理NULL值。 插入在AUTO_INCREMENT列中会导致序列中的下一个数字插入到其位置。 在TIMESTAMP字段中,MariaDB分配当前时间戳。 在虚拟列中,本教程后面讨论的主题将分配默认值。

UNIQUE索引可以包含许多NULL值,但是,主键不能为NULL。

NULL值和Alter命令

当您使用ALTER命令修改列时,如果没有NULL规范,MariaDB会自动分配值。



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
MariaDB 备份方法发布时间:2022-02-02
下一篇:
MariaDB Join数据联接语句发布时间:2022-02-02
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap