Oracle函数NULLIF
1、NULLIF函数
函数语法:NULLIF(Expression1,Expression2)
函数功能:如果来个表达式相等,则返回NULL值,否则返回第一个表达式
功能很简单,但是要注意以下几种情况:
1)两个表达式的类型必须相等。
SQL> SELECT nullif(100, 'a') FROM dual;
SELECT nullif(100, 'a') FROM dual
*
ERROR at line 1:
ORA-00932: inconsistent datatypes: expected NUMBER got CHAR
以下这样也会报错,是不会有隐式转换的
SELECT nullif('100', 1) FROM dual;
2)有NULL的情况比较特殊
SELECT nullif(NULL, NULL) FROM dual;
SELECT nullif(NULL, 100) FROM dual;
SELECT nullif(100, NULL) FROM dual;
只有第三句可以成功执行,返回100,也就是第一个参数不能是NULL,但是第二个可以
SQL> SELECT nullif(100, NULL) FROM dual;
NULLIF(100,NULL)
----------------
100
2、COALESCE函数
函数语法:COALESCE(Expression1,Expression2,Expression3,......)
函数功能:参数可以是值或表达式,返回以第一个非NULL的参数值
SQL> select coalesce(100,null,200) from dual;
COALESCE(100,NULL,200)
----------------------
100
SQL> select coalesce(null,50,200) from dual;
COALESCE(NULL,50,200)
---------------------
50
同样的,参数的类型必须相同
SQL> select coalesce(null,1,'A01') FROM DUAL;
select coalesce(null,1,'A01') FROM DUAL
*
ERROR at line 1:
ORA-00932: inconsistent datatypes: expected NUMBER got CHAR
Oracle函数NULLIF的更多相关文章
- oracle函数操作
感于总有些网友提出一些非常基础的问题,比如有没有实现某某功能的函数啊,某某函数是做什么用的啊,格式是什么等等,同时也感受到自己对oracle函数认识的不足,于是集中月余时间专注于oracle函数,小有 ...
- oracle函数,游标,视图使用总结0.000000000000000000001
oracle函数或者叫存储过程,在实际的开发过程中对于复杂的业务需求是非常有用的,非常有效率的也是非常好玩儿的一个技术点. 平常在开发过程中对于CRUD功能较多.一般SQL即可应付,大不了就是长一点而 ...
- 【函数】Oracle函数系列(2)--数学函数及日期函数
[函数]Oracle函数系列(2)--数学函数及日期函数 1 BLOG文档结构图 2 前言部分 2.1 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不 ...
- oracle函数listagg的使用说明(分组后连接字段)
关于oracle函数listagg的使用说明 工作中经常遇到客户提出这样的需求,希望在汇总合并中,能够把日期逐个枚举出来. 如图,原始数据是这样的: 客户希望能够实现这样的汇总合并: 那么通常我会使用 ...
- 浅谈Oracle函数返回Table集合
在调用Oracle函数时为了让PL/SQL 函数返回数据的多个行,必须通过返回一个 REF CURSOR 或一个数据集合来完成.REF CURSOR 的这种情况局限于可以从查询中选择的数据,而整个集合 ...
- oracle学习笔记(三)oracle函数
--oracle 函数 --lower(char):将字符串转换为小写格式 --upper(char):将字符串转换为大写格式 --length(char):返回字符串的长度 --substr(cha ...
- oracle函数和存储过程有什么区别
oracle函数和存储过程有什么区别 1. 返回值的区别,函数有1个返回值,而存储过程是通过参数返回的,可以有多个或者没有 2.调用的区别,函数可以在查询语句中直接调用,而存储过程必须单独调用. 函数 ...
- Oracle函数sys_connect_by_path 详解
Oracle函数sys_connect_by_path 详解 语法:Oracle函数:sys_connect_by_path 主要用于树查询(层次查询) 以及 多列转行.其语法一般为: s ...
- 汉字转拼音的Oracle函数
前言: 最近处理一个特殊的问题,需要用到汉字自动转换拼音的功能. 解决: 在这里找了不少资料,都是有所缺陷,而且也好像很绕.其实是一个很简单的东东.后来还是自己写了一个函数获取.分享出来,给有需要的X ...
- oracle函数,游标,视图使用总结
oracle函数或者叫存储过程,在实际的开发过程中对于复杂的业务需求是非常有用的,非常有效率的也是非常好玩儿的一个技术点. 平常在开发过程中对于CRUD功能较多.一般SQL即可应付,大不了就是长一点而 ...
随机推荐
- 【ACR2015】持续临床缓解的RA患者能停用TNF拮抗剂吗?
标签: 类风湿关节炎; 药物减停; 生物制剂; 减停后复发 荷兰一项随机对照试验显示, 已获持续6个月临床缓解或低疾病活动度的RA患者在停用TNFi的6个月内约三分之一病情复发 Moghadam HG ...
- obj对象数据归类整理
两个字段根据id对应整理 <!doctype html> <html lang="en"> <head> <meta charse ...
- 【补题】第 46 届 ICPC EC Final
比赛 题目:第 46 届 ICPC EC Final(正式赛) 榜单 A. DFS Order 签到题 容易发现对于一个点,它的最小位置就是从根走一条链直接到它,最大位置就是除了它的子树,其它全已经走 ...
- Educational Codeforces Round 137 (Rated for Div. 2) - D. Problem with Random Tests
期望 + 暴力 [Problem - D - Codeforces](https://codeforces.com/contest/1743/problem/E) 题意 给出一个长度为 \(n\;(1 ...
- web实践4
web实践4 20201303张奕博 2023.1.27 创建胡萝卜 接着,在地面上添加一些胡萝卜 .胡萝卜身体部分是通过四棱柱 CylinderBufferGeometry 实现的,然后通过 Box ...
- js类型以及存储方式
一.js内置类型 基础类型:String, number, null, undefine, boolean, symbol, bigint 引用类型:Object(包含普通对象Object,数组对象A ...
- .NET 6 + Hangfire 实现后台作业管理
一.环境: ASP.NET Core 6 + Hangfire + MySQL 二.新建ASP.NET Core空项目 项目名称:HangfireExample 框架:.NET 6.0 三.N ...
- SDN实验环境安装
- 【Frida】打印方法的调用堆栈
function printstack() { console.log(Java.use("android.util.Log").getStackTraceString(Java. ...
- .NET CORE-通过内置IOC容器IServiceCollection进行服务注册
第一种方式: 在Startup中的ConfigureServices方法中注册服务: services.AddTransient<ITestServiceA, TestServiceA>( ...