首页 > 数据库 >Oracle函数NULLIF

Oracle函数NULLIF

时间:2022-11-23 17:57:28浏览次数:35  
标签:函数 nullif dual Oracle 100 NULL NULLIF SELECT

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

标签:函数,nullif,dual,Oracle,100,NULL,NULLIF,SELECT
From: https://www.cnblogs.com/su1999/p/16919209.html

相关文章

  • 详解支持向量机-探索核函数的优势和缺陷【菜菜的sklearn课堂笔记】
    视频作者:菜菜TsaiTsai链接:【技术干货】菜菜的机器学习sklearn【全85集】Python进阶_哔哩哔哩_bilibili看起来,除了Sigmoid核函数,其他核函数效果都还不错。但其实rbf和pol......
  • mysql/hive——date_format()日期格式化函数
    参考:https://www.w3school.com.cn/sql/func_date_format.asp 与oracle的to_date()字符串转日期,to_char()日期转字符串不同,mysql与hive使用date_format()进行日期格式......
  • oracle——to_date()操作日期型字段 / to_char()日期型转为字符型
    参考:https://blog.csdn.net/idomyway/article/details/78785112对于oracle数据库,必须使用to_date函数才能操作日期字段。(to_date():将我们写的字符串格式的时间,转为日期格......
  • Oracle对一个字符串中的数字与非数字进行分割
    Oracle对一个字符串中的数字与非数字进行分割Oracle中对一个字符串中的数字与非数字进行分割思路很简单,就是将字符串分成数字与非数字则只要将字符串中的数字全部换成空......
  • JavaScript decodeURI() 函数 Url 解码
    定义和用法decodeURI()函数可对encodeURI()函数编码过的URI进行解码。语法decodeURI(URIstring)参数描述URIstring必需。一个字符串,含有要解码的URI或其他要解码......
  • JavaScript encodeURI() 函数 Url编码
    定义和用法encodeURI()函数可把字符串作为URI进行编码。语法encodeURI(URIstring)参数描述URIstring必需。一个字符串,含有URI或其他要编码的文本。返回值URIstring......
  • JavaScript unescape() 函数解码
    定义和用法unescape()函数可对通过escape()编码的字符串进行解码。语法unescape(string)参数描述string必需。要解码或反转义的字符串。返回值string被解码后的一个......
  • JavaScript escape() 函数编码
    定义和用法escape()函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。语法escape(string)参数描述string必需。要被转义或编码的字符串。返回值已编码......
  • oracle使用exp/imp导入导出(用户)
    zoukankan      html  css  js  c++  java oracle使用exp/imp导入导出(用户) 实例,从远程机器上导出nxgy用户的所有对象和数据,然后导入到本机数......
  • yield函数
    20221123为什么引入yield节省内存,即用即取每次调用,执行到yield行return一个值,停止运行函数。下次调用,从yield的下一行接着执行。deffoo():print("starting..."......