Mysql 没有nvl()函数,却有一个类似功能的函数ifnull()
mysql 函数 一个 功能 没有 类似 NVL
2023-09-11 14:19:38 时间
今天自己无聊写了看了一个查询需求随手写了一个sql语句,发现竟然不能运行,MySQL报[Err] 1305 - FUNCTION ceshi.nvl does not exist的错。才意识到自己写的是
orac中的sql,于是另写一条sql达到了目的,但是事后想了一下在mys中是否有同样功能的函数呢?经查:ifnull()。亲测,另有发现:
SELECT * FROM emp e where (e.COMM is null) or e.COMM<100;
SELECT * FROM emp e WHERE IFNULL(e.COMM,0)<100;
效果是一样的!我的COMM字段数据为300、500、1400、0;
而我要查询的是:没有奖金或奖金低于100的员工信息。以此来看官方的解释:IFNULL(expr1,expr2)
如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2。IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境。 是有问题的,0不是null
但是他也做到了返回expr2;应该是当expr1为null或者0是都返回expr2。
转:https://www.cnblogs.com/ckxlovejava/p/5923841.html
参考:http://www.w3school.com.cn/sql/sql_isnull.asp
相关文章
- 【MySQL高级】应用优化及Mysql中查询缓存优化以及Mysql内存管理及优化
- 【MySQL高级】MySql中常用工具及Mysql 日志
- Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘ (2)
- mysql远程连接 Host * is not allowed to connect to this MySQL server
- MySQL procedure & function 存储过程 & 存储函数
- MySQL如何解决幻读和不可重复度?
- jboss7.1.1配置数据库mysql与oracle
- MariaDB/MySQL存储过程和函数
- Windows环境下 PyQt5 如何安装MySql驱动 (PyQt5连接MYSQL时显示Driver not loaded解决方案)
- MySQL存储过程详解 mysql 存储过程
- mysql 函数substring_index() 截取字符串
- 小知识随手记(十):多重重复解构对象、es6函数带默认参数时将生成声明作用域、一些注意点、动态设置getter/setter、mysql将字符串字段转为数字排序或比大小、pointer-events:none;属性
- Go-MySQL-Driver:一个Go语言的轻量级极速的mysql驱动
- centos 6.5下安装mysql+nginx+redmine 3.1.0 笔记
- MySQL服务器安装完之后如何调节性能
- Mysql 1290 - The MySQL server is running with the --secure-file-priv option
- python封装一个工具类 ,对MySQL数据库增删改查,可多字段动态插入mysql数据库中
- [Mysql] CAST函数
- [Mysql] LOWER函数 | UPPER函数
- Linux安装Mysql server镜像安装失败 警告:mysql-community-devel-8.0.31-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature