MySQL isnull()函数基本指南

转载自  MySQL isnull()函数基本指南

MySQL ISNULL函数简介

ISNULL函数接受一个参数,并测试该参数是否为NULL。如果参数为NULL,则ISNULL函数返回1,否则返回0

下面说明了ISNULL函数的语法:

ISNULL(expr)

请考虑以下示例:

SELECT ISNULL(NULL); -- 1    
SELECT ISNULL(1);  -- 0
SELECT ISNULL(1 + NULL); -- 1;
SELECT ISNULL(1 / 0 ); -- 1;

请注意,如果您尝试找到Microsoft SQL Server的ISNULL函数的MySQL替代方法,则应该使用MySQL的IFNULL函数。 因为ISNULL函数在MySQL中与Microsoft SQL Server的ISNULL函数是不同的。

 

MySQL ISNULL函数和IS NULL运算符

ISNULL函数与IS NULL运算符共享一些行为。 例如,如果您将DATE类型的列声明为NOT NULL,则可以使用以下语句查找特殊日期“0000-00-00”

SELECT *
FROMtable_name
WHEREISNULL(date);

请注意,MySQL故意实现此函数来支持ODBC应用程序,因为ODBC不支持特殊日期值'0000-00-00'。或者修改以下值为: sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,官方手册参考: https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html

我们来看下面的一个例子。

首先,创建一个名为special_isnull的新表,如下所示:

USE testdb;
drop table if exists special_isnull;
CREATE TABLE special_isnull (start_date DATE default NULL 
);

其次,将一些数据插入到special_isnull表中:

INSERT INTO special_isnull(start_date) 
VALUES('2000-01-01'),('0000-00-00'),(NULL);

注意:MySQL 5.7 中不允许插入 0000-00-00 值

第三步,使用ISNULL函数从special_isnull表查询数据:

SELECT *
FROMspecial_isnull
WHEREISNULL(start_date);

执行上面查询语句,得到以下结果 -

+------------+
| start_date |
+------------+
| NULL       |
+------------+
1 row in set

查询返回一行,而您可能希望返回一个空结果集。

当您要取消IS NULL运算符时,可以使用NOT运算符,即IS NOT NULL。 但是,对于ISNULL函数,可以使用!ISNULL

在本教程中,您已经学习了如何使用MySQL ISNULL函数及其特殊行为来处理NULL值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/326295.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ppt2010基础操作笔记

一、PPT2010的界面: 1.功能选项卡 2.大纲区 3.标题栏 4.备注页 5.状态栏 6.工作区 二、创建PPT演示文稿 1.开始–》PPT2010 2.在PPT里面新建–》文件–》新建–》样本模板–》选择模板。 三、PPT2010中的视图: 1.普通视图 2.大纲视图 3.幻灯…

2019蓝桥杯省赛---java---C---2(矩阵切割)

题目描述 代码实现 package TEST;import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int max sc.nextInt();int min sc.nextInt();int sum 0, temp;while (max ! 0 && min ! 0) {if (max …

期待微软平台即服务技术Service Fabric 开源

微软的Azure Service Fabric的官方博客在3.24日发布了一篇博客 Service Fabric .NET SDK goes open source ,介绍了社区呼声最高的Service Fabric开源的情况以及当前的情况,这次开源了Service Fabric的.NET SDK部分,主要是两个: …

java中input表单中的type=date返回类型【切记】

input表单中的type”date”返回类型为Date类型! input表单中的type”date”返回类型为Date类型! input表单中的type”date”返回类型为Date类型! 重要的内容说三遍,今晚可算是及坑死我了,一直以为是String类型 &…

全自动安装 linux光盘,CentOS 7.1全自动安装光盘制作详解

安装系统的话,常用方式就是通过U盘,光盘,kickstart网络自动化安装,网络自动化安装固然好,但是有时候在现场做项目的话根本就没有kickstart环境,甚至连基本的网络建设都没有弄好,此时该如何安装系…

MySQL last_insert_id()函数

转载自 MySQL last_insert_id()函数 MySQL LAST_INSERT_ID函数简介 在数据库设计中,我们经常使用代理键使用AUTO_INCREMENT属性为主键列生成唯一的整数值。 当您将新行插入到具有AUTO_INCREMENT列的表中时,MySQL会自动生成一个唯一的整数&#xff0c…

2019蓝桥杯省赛---java---C---4(质数)

题目描述 代码实现 package TEST; public class Main {public static void main(String[] args) {int cnt 0;for (int i 2; ; i )if(check(i)){cnt ;if(cnt 2019){System.out.println(i);break;}}}public static boolean check(int n){//判断一个数是否为质数for (int i 2…

eclipse下载与安装步骤详解,包含解决错误(最全最详细)

以前一直用的是myeclipse,今天有幸接触eclipse,那我们就先来安装的配置一下,下载地址:点击下载密码:h0kg,下载完成以后就可以安装了,首先我们来先安装jdk1.7, 打开jdk的安装包 双击即可, 直接点击下一步&…

CoreCLR文档翻译 - GC的设计

此文档来源于CoreCLR的BOTR(The Book of the Runtime), 点击打开原文一切著作权归微软公司所有 GC的设计 作者: Maoni Stephens (maoni0) - 2015 提示: 推荐看 The Garbage Collection Handbook 这本书学习更多关于GC的知识 (在文章底部的链接中) 组件结构 在GC中有两个主…

MySQL cast()函数

转载自 MySQL cast()函数 MySQL CAST函数介绍 MySQL CAST()函数的语法如下: CAST(expression AS TYPE);CAST()函数将任何类型的值转换为具有指定类型的值。目标类型可以是以下类型之一:BINARY,CHAR,DATE,DATETIME…

linux 编译 expat,关于expat库的编译

1、expat库简介refer to wiki:To use the Expat library, programs first register handler functions with Expat. When Expat parses an XML document, it calls the registered handlers as it finds relevant tokens in the input stream. These tokens and their associat…

node.js安装不好怎么办

试试重启电脑 可能解决了百分之99.9的问题

计算机操作基础

一、计算机硬件组成: 1.CPU 2.主板 3.内存 4.硬盘 5.光驱 6.显卡 7.网卡 8.声卡 9.电源 10.操作系统 二、CPU型号: 1.INTEL 1)主频:2.8-3.7GHZ 2)核心:双核、四核、八核、十核 3)高速总缓冲:2-20MB 4)…

CoreCLR源码探索(四) GC内存收集器的内部实现 分析篇

在这篇中我将讲述GC Collector内部的实现, 这是CoreCLR中除了JIT以外最复杂部分,下面一些概念目前尚未有公开的文档和书籍讲到。 为了分析这部分我花了一个多月的时间,期间也多次向CoreCLR的开发组提问过,我有信心以下内容都是比较准确的&am…

vue开源项目

转载自 vue开源项目 一、前台UI组件库 1.Element 优点:中文文档,ui种类比较全,ui设计简洁清晰 缺点:不够有特点 2.iView 优点:和element的UI很相似,有一些多的补充,可以相互替换 缺点&am…

linux跑循环脚本占内存,Linux下实现脚本监测特定进程占用内存情况

Linux系统下,我们可以利用以下命令来获取特定进程的运行情况:cat /proc/$PID/status其中PID是具体的进程号,这个命令打印出/proc/特定进程/status文件的内容,信息比较多,包含了物理内存/虚拟内存的使用状况&#xff0c…

如何在vm虚拟机里面安装win10操作系统

首先打开虚拟机,点击创建虚拟机 然后选择典型即可! 选择稍后安装操作系统 然后选择win10 64位 . 然后在找个路径: 默认60GB即可,也可以更改大小: 最后点击完成: 接下来我们需要用U盘制作一个启动盘…

CoreCLR源码探索(五) GC内存收集器的内部实现 调试篇

在上一篇中我分析了CoreCLR中GC的内部处理, 在这一篇我将使用LLDB实际跟踪CoreCLR中GC,关于如何使用LLDB调试CoreCLR的介绍可以看: 微软官方的文档,地址我在第3篇中的介绍,地址LLDB官方的入门文档,地址 源代码 本篇…

小米路由器青春版装linux,比较费心的折腾 篇二:小米路由器青春版折腾负载均衡...

比较费心的折腾 篇二:小米路由器青春版折腾负载均衡2020-06-04 11:00:233点赞10收藏8评论创作立场声明:本文的核心目的是对于比较久远的硬件进行折腾,提及的软件可以在官网、软件包或者github找到。开篇预警本文截图较多,但是前期…