MySQL中的isnull、ifnull和nullif函数用法
isnull(expr)
如expr为null,那么isnull()的返回值为1,否则返回值为0。
mysql>select isnull(1+1);
->0
mysql>select isnull(1/0);
->1
使用=的null值对比通常是错误的。
isnull()函数同is null比较操作符具有一些相同的特性。请参见有关is null 的说明。
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。假设一个基于表达式的表的情况,或MySQL必须在内存储器中储存一个临时表中IFNULL()的返回值:
CREATE TABLE tmp SELECT IFNULL(1,'test') AS test;
在这个例子中,测试列的类型为 CHAR(4)。
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
如果参数不相等,则MySQL两次求得的值为expr1 。
一、IF函数
表达式:IF(expr1,expr2,expr3)
满足条件expr1即条件expr1返回true
则expr2否则就是expr3 返回false
作为排序条件使用时 放在order by 后
eg:
1. SELECT IF(1=1,2,3); 则输出2
2.SELECT IF(1=2,2,3);则输出3
select * from test_table order by if(ISNULL(idcard),1,0)
二、IFNULL函数
表达式:IFNULL(expr1,expr2)
如果expr1值为NULL,则输出expr2
如果expr1值不为空则输出expr1本身
eg:
1.SELECT IFNULL(null,”2”);则输出2
2.SELECT IFNULL(3,”2”);则输出3
三、is not null函数
select * from test where name is not null;
四、isnull(expr) 的用法:
如expr 为null,那么isnull() 的返回值为 1,否则返回值为 0。
MySQL中的isnull、ifnull和nullif函数用法的更多相关文章
- 博文推荐】Javascript中bind、call、apply函数用法
[博文推荐]Javascript中bind.call.apply函数用法 2015-03-02 09:22 菜鸟浮出水 51CTO博客 字号:T | T 最近一直在用 js 写游戏服务器,我也接触 j ...
- mysql中length与char_length字符长度函数使用方法
在mysql中length是计算字段的长度一个汉字是算三个字符,一个数字或字母算一个字符了,与char_length是有一点区别,本文章重点介绍第一个函数. mysql里面的length函数是一个用来 ...
- MySQL中concat()、concat_ws()、group_concat()函数的使用技巧与心得总结
Author:极客小俊 一个专注于web技术的80后 我不用拼过聪明人,我只需要拼过那些懒人 我就一定会超越大部分人! CSDN@极客小俊,原创文章, B站技术分享 B站视频 : Bilibili.c ...
- Mysql中concat()、concat_ws()和 group_concat()的用法
一.CONCAT()函数CONCAT()函数用于将多个字符串连接成一个字符串.使用数据表Info作为示例,其中SELECT id,name FROM info LIMIT 1;的返回结果为+----+ ...
- 彻底弄清c标准库中string.h里的常用函数用法
在我们平常写的c/c++程序,一些算法题中,我们常常会用到c标准库中string.h文件中的函数,这些函数主要用于处理内存,字符串相关操作,是很有用的工具函数.而且有些时候,在笔试或面试中也会出现让你 ...
- MySQL 中的共享锁和排他锁的用法
在 MySQL 中的行级锁.表级锁和页级锁中,咱们介绍过,行级锁是 MySQL 中锁定粒度最细的一种锁,行级锁能大大减少数据库操作的冲突.行级锁分为共享锁和排他锁两种,本文将详细介绍共享锁和排他锁的概 ...
- MySQL if,ifnull,nullif 函数
一.IF IF(exPR1,expr2,expr3) 如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),则 IF()的返回值为expr ...
- MySQL-ISNULL()、IFNULL()和NULLIF()函数
以下三个函数都可以用于where子条件,作为数据删除.更新的记录定位依据. 如: SELECT * FROM usergrade WHERE ISNULL(USERNAME); 一.ISNULL(ex ...
- mysql中比较实用的几个函数
1.曾有这样的需求: 可以使用如下函数: 语法:FIND_IN_SET(str,strlist). 定义: 1. 假如字符串str在由N子链组成的字符串列表strlist中,则返回值的范围在1到N之间 ...
随机推荐
- 环形链表(给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null)
思想: 思想:用快慢指针先判断是否有环,有环则 假设头结点到环入口距离为n,环入口到快慢指针相遇结点距离为m,则慢指针走的路程 为m+n,而快指针走的路程为m+n+k*l (k*l表示绕环走的路程), ...
- spring框架等web程序在tomcat下的启动顺序
http://www.cnblogs.com/panxuejun/p/5847774.html
- Create-react-app+Antd-mobile+Less配置(学习中的记录)
(参考别人结合自己的整理得出,若有错误请大神指出) Facebook 官方推出Create-React-App脚手架,基本可以零配置搭建基于webpack的React开发环境,内置了热更新等功能. 详 ...
- C# ImageHelper
using System; using System.Drawing; using System.Drawing.Imaging; using System.IO; using System.Web; ...
- spring 启动异常Failed to read candidate component class
Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: ...
- CC2530 Debug ---CC2530 无启动之32K晶振
今天焊接CC2530,其中有个模块下载程序(协议栈程序),无法创建也无法加入网络. 第一步先检查32MH 晶振是否启动,用basice 程序看uart,发现可以正常打印log. 第二步,在线调试,看看 ...
- [CF543A]/[CF544C]Writing Code
[CF543A]/[CF544C]Writing Code 题目大意: 有\(n\)种物品,每种物品分别要\(c_i\)的代价,每个物品有\(1\)的体积,每个物品可以选多个,代价不能超过\(b\), ...
- Struts2网页面传值两种方式
第一种方式: /** 列表 */ public String list() throws Exception { List<Role> roleList = roleService.fin ...
- LINUX文件及目录管理命令基础(2)
Linux文件类型 文件作为Linux操作系统中最常见的对象,在系统中被分为了多种类型 如下: - 普通文件 d 目录 l 链接 b 块设备 c 字符设备 p 管道设备 s 套接字文件 Linux目录 ...
- Js全等和等于
Javascript只有六个假值(用在条件if的判断) 全等于 类型不同,返回false类型相同,则 等于 类型相同:同上=== 类型不同:尝试类型转换==[不是真值和假值的比较] null == u ...