前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >IFNULL和NULLIF

IFNULL和NULLIF

作者头像
cultureSun
发布2023-09-21 08:21:34
发布2023-09-21 08:21:34
36400
代码可运行
举报
文章被收录于专栏:cultureSun学安全cultureSun学安全
运行总次数:0
代码可运行

简介

nullififnull是数据库中常用的两个函数。不同的数据库可能会略微有差异。

详解

NULLIF

代码语言:javascript
代码运行次数:0
复制
NULLIF(expr1,expr2)

NULLIF接受两个参数,如果两个参数相等则返回NULL,不相等则返回第一个参数。

实例

运行环境:MYSQL

代码语言:javascript
代码运行次数:0
复制
--返回 NULL
SELECT NULLIF('culturesun.site','culturesun.site');
--返回 culturesun.site
SELECT NULLIF('culturesun.site',NULL);
--返回 NULL ,因为第一个参数是 NULL
SELECT NULLIF(NULL,'culturesun.site');

注意第三句sql,第一个接受参数是NULL,在SQL server数据库中第一个参数不允许NULL

IFNULL

代码语言:javascript
代码运行次数:0
复制
IFNULL(expr1,expr2)

IFNULL接受两个参数,如果第一个参数为NULL,则返回第二个参数,否则返回第一个参数。

实例

运行环境:MYSQL

代码语言:javascript
代码运行次数:0
复制
--返回  culturesun.site
SELECT IFNULL('culturesun.site',NULL);
--返回  culturesun.site
SELECT IFNULL(NULL,'culturesun.site');
--返回  NULL(返回的是第二个参数)
SELECT IFNULL(NULL,NULL);

注意SQL server中没有IFNULL,而是ISNULL

特殊使用

测试表:testtable ,有个名为 id 的列,类型是varchar 数据如下:

IFNULL配合数据表的列使用会有意想不到结果,场景如下: 判断某列是否为NULL,如果是就返回culturesun,不是就返回列值拼接culturesun字符串。

实现sql如下:

代码语言:javascript
代码运行次数:0
复制
SELECT IFNULL(CONCAT(id,'culturesun'),'culturesun') FROM `testtable`;

查询结果:

可知如果IFNULL第一个参数是一个表的列,即使是列值与字符串拼接,也依旧是判断列值是否为空。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 详解
    • NULLIF
      • 实例
    • IFNULL
      • 实例
    • 特殊使用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档