首页 > 数据库 >MySQL NULL 值判断

MySQL NULL 值判断

时间:2023-07-11 16:47:17浏览次数:37  
标签:判断 IFNULL MySQL expr1 mysql 返回值 NULL SELECT

MySQL NULL 值判断

IFNULL 函数

IFNULL(expr1,expr2)用法:假如expr1不为NULL,则 IFNULL() 的返回值为expr1; 否则其返回值为 expr2。IFNULL()的返回值是数字或是字符串,具体情况取决于其所使用的语境。

  • mysql>   SELECT   IFNULL(1,0); ->   1
    mysql>   SELECT   IFNULL(NULL,10); ->   10
    mysql>   SELECT   IFNULL(1/0,10); ->   10
    mysql>   SELECT   IFNULL(1/0,'yes'); ->   'yes'
    

IFNULL(expr1,expr2)的默认结果值为两个表达式中更加“通用”的一个,顺序为STRING、REAL或 INTEGER。

ISNULL 函数

ISNULL(expr) 用法:如expr 为null,那么isnull() 的返回值为 1,否则返回值为 0。

  • mysql> select isnull(1+1); -> 0
    mysql> select isnull(1/0); -> 1
    

使用 = 的null 值对比通常是错误的。

NULLIF 函数

NULLIF(expr1,expr2)用法:如果expr1 = expr2 成立,那么返回值为NULL,否则返回值为expr1。这和CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END相同。

  • mysql> SELECT NULLIF(1,1); -> NULL
    mysql> SELECT NULLIF(1,2); -> 1
    

标签:判断,IFNULL,MySQL,expr1,mysql,返回值,NULL,SELECT
From: https://www.cnblogs.com/OnlyOnYourself-lzw/p/17545198.html

相关文章

  • MySQL数据库的介绍与安装
    版本的介绍版本的介绍MySQL5.0(版本不稳定)MySQL5.5(用的很少,老项目还再用)MySQL5.6(老项目用的比较多,版本很稳定)MySQL5.7(新项目在选择数据库的时候,使用的就是这个版本了)MySQL8.0(最新版本,现在生产环境用的还不是很多)MySQL的下载与安装官网地址:https://downloads......
  • centos7 用docker搭建Mysql主从
    安装Docker和DockerCompose:安装预置:sudoyumupdateyuminstallpython3-pipsudoyumgroupinstall"DevelopmentTools"sudoyuminstallepel-releasesudoyuminstallopenssl-devellibffi-develpython3-devel安装docker:yumremovedockerdocker-clientdocker-......
  • ASEMI整流桥KBU808参数,KBU808怎么判断好坏?
    编辑-ZKBU808是一种常用的整流桥,常用于电源和电机控制电路中。了解KBU808的参数和判断其好坏的方法对于电子工程师和电路设计师来说非常重要。 首先,让我们来了解一下KBU808的参数。KBU808是一种单相全波整流桥,具有以下主要参数: 1.最大正向电流(MaximumForwardCurrent):这是......
  • 75.怎样判断两个浮点数是否相等?
    75.怎样判断两个浮点数是否相等?对两个浮点数判断大小和是否相等不能直接用==来判断,会出错!明明相等的两个数比较反而是不相等!对于两个浮点数比较只能通过相减并与预先设定的精度比较,记得要取绝对值!浮点数与0的比较也应该注意。与浮点数的表示方式有关。参考资料来源:阿秀......
  • 编译安装MySQL8及常见错误处理
    初稿。。。1.下载https://downloads.mysql.com/archives/community/选择对应版本->选择sourcecode->系统版本一定要选all->拉至最下方-选择mysql-boost-8.0.xx.tar.gz(不下载带有boost的压缩包,需自行安装boost)图片后续添加。 2.解压tar-zxfmysql-boost-8.0.25.tar.gz......
  • Golang学习笔记-判断
    判断有两种:if和switchif判断if用于条件判断,它会按照顺序一次执行,当if条件及elseif条件都不成立,则会执行else部分的逻辑语法if条件判断{...}elseif条件判断{...}else{...}栗子varmoneyint=18ifmoney>0&&money<=1000{fmt.Pri......
  • python pandas链接mysql数据库报错
    1. ModuleNotFoundError:Nomodulenamed'mysql'需要安装链接驱动,比如 pipinstallmysqlclient#或pipinstallpymysql#或pipinstallmysql-connector-python2.pandas的 pd.read_sql(ad_first_query,conn)报错: executereturnself.connectable.executio......
  • mysql - docker主从复制
    1、docker拉取镜像dockerpullmysql:8.0 2、查看dockerimages 3、创建容器主:dockerrun-p3309:3306--namemaster-eMYSQL_ROOT_PASSWORD=123456--restart=always-dmysql:8.0 从:dockerrun-p3310:3306--namesalve-eMYSQL_ROOT_PASSWORD=123456--res......
  • mysql8.0多实例部署,同版本多实例和不同版本实例
    一、配置Mysql8.0同版本多实例1、解压移动安装位置2、创建Mysql管理组和用户3、创建多实例用户数据库存储目录修改目录所有者4、修改多实例Mysql主配置文件5、初始化多实例Mysql6、启动服务7、登录多实例Mysql二、配置Mysql不同版本多实例1、安装Mysql5.62、修改mysql5.6主配置文件......
  • optimize table 治理mysql 高水位和空间碎片
    问题背景随着系统上线时间的增长,mysql数据库的数据目录的文件系统使用率已经快要耗尽。从最初的两三个月truancate一次日志表,到最后每周要truancate多次日志表。业务侧将数据库中历史数据(超过全部数据的2/3)逐渐进行了迁移(采用目标库insert,源库delete的方式),这些表中有多个超过1......