我们知道,在不同的数据库引擎中,内置函数的实现、命名都是存在差异的,如果经常切换使用这几个数据库引擎的话,很容易会将这些函数弄混淆。

比如说判断空值的函数,在Oracle中是NVL()函数、NVL2()函数,在SQL Server中是ISNULL()函数,这些函数都包含了当值为空值的时候将返回值替换成另一个值的第二参数。

但是在MySQL中,ISNULL()函数仅仅是用于判断空值的,接受一个参数并返回一个布尔值,不提供当值为空值的时候将返回值替换成另一个值的第二参数。

SELECT ISNULL('i like yanggb'); // 0

SELECT ISNULL(NULL); // 1

因此MySQL另外提供了一个IFNULL()函数。

简单介绍

IFNULL()函数是MySQL内置的控制流函数之一,它接受两个参数,第一个参数是要判断空值的字段或值(傻?),第二个字段是当第一个参数是空值的情况下要替换返回的另一个值。如果第一个参数不是NULL,则返回第一个参数;否则,将返回第二个参数。两个参数都可以是文字值或表达式。

函数的语法

IFNULL(v1, v2)

其中,如果v1不为NULL,则IFNULL函数返回v1; 否则返回v2的结果。

简单示例

SELECT IFNULL(NULL, 'i like yanggb'); // i like yanggb

在上面的例子中,由于第一个参数为NULL,所以返回的是第二个参数的值。

SELECT IFNULL('i like yanggb', 'i do like yanggb'); // i like yanggb

在上面的例子中,由于第一个参数不为NULL,所以返回的是第一个参数的值。

mysql空值判断函数_MySQL中的ifnull()函数判断空值相关推荐

  1. php mysql ifnull函数_MYSQL中的IFNULL函数

    手册上: IFNULL(expr1,expr2) 假如expr1不为NULL,则IFNULL()的返回值为 expr1;否则其返回值为 expr2.IFNULL()的返回值是数字或是字符串,具体情况取 ...

  2. mysql中常用的sql函数_Mysql中的常用函数:

    Mysql中的常用函数: 1.字符串函数: (1).合并字符串 concat():// concat('M','y',"SQL",'5.5');== MySQL5.5//当传入的参 ...

  3. mysql 排序开窗函数_MySQL中实现开窗函数

    一.概述 row_number是数据库中常用的一个开窗函数,可以实现数据分区编号的功能,然而MySQL并不支持开窗函数.本文介绍了在MySQL中实现开窗函数的方法. 二.经典开窗函数 首先准备基础数据 ...

  4. mysqlsql常用函数_MySQL中的常用函数

    在MySQL中,函数不仅可以出现在select语句及其子句中,而且还可以出现在update.delete语句中. 常用的函数有: 1. 字符串函数:主要用于处理字符串. 2. 数值函数:主要用于处理数 ...

  5. mysql 修改这段长度_MySQL中使用group_concat()函数数据被截取(有默认长度限制),谨慎!...

    最近在工作中遇到一个问题: 我们系统的一些逻辑处理是用存储过程实现的,但是有一天客服反馈说订单下单失败,查了下单牵扯到的产品基础资源,没有问题. 下单的存储过程中有这样两句代码: 1 declare ...

  6. mysql输出max函数_MySQL中的max()函数使用教程

    MySQL的max()函数是用来找出一个记录集中的最大值记录. 要了解MAX功能考虑的EMPLOYEE_TBL表具有以下记录: mysql> SELECT * FROM employee_tbl ...

  7. mysql sleep详解_MySQL中的sleep函数介绍

    MySQL数据库中有一个不太常用但便于进行某些调试的函数:sleep(),今天我们就来介绍一下这个函数的用法. 首先,看看官网对于函数的定义: SLEEP(duration) Sleeps (paus ...

  8. mysql中的split函数_mysql中的split函数

    mysql中没有字符串的分割函数,而最近在工作中,想用到这个功能,所以就在网上找了下,终于在csdn发现一个好方法.原帖的地址: 这里摘抄两个函数: DELIMITER $$ CREATE DEFIN ...

  9. mysql常用转换函数_MySQL中常用转换函数介绍

    Cast函数:CONVERT函数. 用法:CAST(expr AS type), CONVERT(expr,type) , CONVERT(expr USING transcoding_name). ...

最新文章

  1. nagios监控haproxy(借助脚本)
  2. leetcode231
  3. 四川省天然气行业发展战略及投资形势分析报告2021版
  4. cad能整体比例缩小吗_CAD中两个缩放的不同及其各自的应用
  5. leetCode刷题(使用链表做加法)
  6. git分支(branch)操作相关命令
  7. C语言:几种字符输入函数的区别
  8. 微软:今年要让Office 2007寿终正寝
  9. 统计list里面相同元素个数_LeetCode 第 347 号问题:前 K 个高频元素
  10. 内含福利 | 我们“偷”来了一座航站楼。9.21, HAY!18等你来候机!
  11. Python入门教程丨1300多行代码,让你轻松掌握基础知识点
  12. 封装element分页组件
  13. open cv python_Open CV非常牛逼!众所周知!今天就来见识一下它究竟有多牛逼!
  14. POJ 3070 Fibonacci(矩阵高速功率)
  15. win10 动态磁盘 linux,Win10系统基本磁盘变成动态磁盘了咋办?
  16. 【华为灰度管理法】之读书思维导图及感想分享
  17. Java集合可分成什么类_java.util包含Java中大量工具类、集合类等,例如Arrays、List、Set等。...
  18. 楷书书法规则_楷书的结构法则
  19. python的多线程
  20. Android studio隐藏app应用图标

热门文章

  1. EJB3.0学习笔记---MDBbean--区分P2P模式和Pub/Sub模式的示例
  2. 1003 C语言输入以某个特殊输入为结束标志
  3. NLP之路-继续书本上的实验
  4. fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC sha
  5. linux c++ 实现http请求
  6. 那些年,我们一起追过的足球
  7. 一摞烙饼最上面一个的另一面为焦的概率
  8. win下mysql数据库双机配置_[数据库]windows下使用mysql双机热备功能
  9. 一步一步写算法(之排序二叉树的保存和加载)
  10. 网络加速 java_快速入门之:使用 dragonite forwarder 加速 Shadowsocks 连接