专业汉语词典知识平台,分享汉字词语知识、历史文学知识解答!

励北网
励北网

nvl函数用法,nvl函数详解

来源:小易整编  作者:小易  发布时间:2023-03-17 08:29
摘要:nvl函数用法,nvl函数详解测试 NULL 并返回适当表达式的函数。大纲NVL(check-expression,replace-expression)参数check-expression -要计算的表达式。replace-express...

nvl函数用法,nvl函数详解

nvl函数用法,nvl函数详解

测试 NULL 并返回适当表达式的函数。

大纲

NVL(check-expression,replace-expression)

参数

  • check-expression - 要计算的表达式。

  • replace-expression - 如果 check-expression 为 NULL,则返回的表达式。

NVL 返回与检查表达式相同的数据类型。

描述

NVL 计算检查表达式并返回以下两个值之一:

  • 如果 check-expression 为 NULL,则返回 replace-expression。

  • 如果 check-expression 不为 NULL,则返回 check-expression。

参数 check-expression 和 replace-expression 可以具有任何数据类型。如果它们的数据类型不同,SQL 会将 replace-expression 转换为 check-expression的数据类型,然后再进行比较。返回值的数据类型始终与 check-expression 的数据类型相同,除非 check-expression 为字符数据,此时返回值的数据类型为 VARCHAR2。

请注意,NVL 支持 Oracle 兼容性,并且与 ISNULL 函数相同。

日期和时间显示转换

某些检查表达式数据类型需要从逻辑模式转换为 ODBC 模式或显示模式。例如 DATE 和 TIME 数据类型。如果replace-expression的值不是同一个数据类型,这个值不能在ODBC模式或Display模式下转换,会产生SQLCODE错误:-146 for DATE data type;-147 用于 TIME 数据类型。例如,ISNULL(DOB,'nodate')不能在 ODBC 模式或 Display模式下执行;它发出%msg Error: 'nodate' is an invalid ODBC/JDBC Date value or Error: 'nodate' is an invalid DISPLAY Date value.。要在 ODBC 模式或显示模式下执行此语句,必须将值转换为适当的数据类型ISNULL(DOB,CAST('nodate' as DATE))。这导致日期 0,显示为 1840-12-31。

NULL 处理函数比较

下表显示了各种 SQL 比较函数。如果逻辑比较测试为 True(A 与 B 相同),则每个函数返回一个值,如果逻辑比较测试为 False(A 与 B 不同),则返回另一个值。这些函数允许执行 NULL 逻辑比较。不能在实际相等(或不相等)条件比较中指定 NULL。

SQL FunctionComparisonTest Return Value
IFNULL(ex1,ex2) [two-argument form]ex1 = NULLTrue returns ex2 False returns NULL
IFNULL(ex1,ex2,ex3) [three-argument form]ex1 = NULLTrue returns ex2 False returns ex3
{fn IFNULL(ex1,ex2)}ex1 = NULLTrue returns ex2 False returns ex1
ISNULL(ex1,ex2)ex1 = NULLTrue returns ex2 False returns ex1
NVL(ex1,ex2)ex1 = NULLTrue returns ex2 False returns ex1
NULLIF(ex1,ex2)ex1 = ex2True returns NULL False returns ex1
COALESCE(ex1,ex2,...)ex = NULL for each argumentTrue tests next ex argument. If all ex arguments are True (NULL), returns NULL. False returns ex

示例

以下示例返回替换表达式 (99),因为检查表达式为 NULL:

SELECT NVL(NULL,99) AS NullTest

99

以下示例返回检查表达式 (33),因为检查表达式不为 NULL:

SELECT NVL(33,99) AS NullTest

33

如果 FavoriteColors 为 NULL,则以下动态 SQL 示例返回字符串“No Preference”;否则,它返回 FavoriteColors 的值:

/// d ##class(PHA.TEST.SQLFunction).Nvl()
ClassMethod Nvl()
{
 s myquery = 3
 s myquery(1) = "SELECT Name,"
 s myquery(2) = "NVL(FavoriteColors,'No Preference') AS ColorChoice "
 s myquery(3) = "FROM Sample.Person"
 s tStatement = ##class(%SQL.Statement).%New()
 s qStatus = tStatement.%Prepare(.myquery)
 s rset = tStatement.%Execute()
 d rset.%Display()
 w !,"End of data"
}
DHC-APP>d ##class(PHA.TEST.SQLFunction).Nvl()
Name    ColorChoice
yaoxin  $lb("Red","Orange","Yellow")
xiaoli  No Preference
姚鑫    No Preference
姚鑫    No Preference
姚鑫    No Preference
姚鑫    $lb("Red","Orange","Yellow","Green")
姚鑫    $lb("Red","Orange","Yellow","Green","Green")



本文地址:百科问答频道 https://www.neebe.cn/wenda/931325.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


百科问答
小编:小易整编
相关文章相关阅读
  • Excel中countif函数的使用方法

    Excel中countif函数的使用方法

    Excel中有很多函数,很多都可以为我们大大减少计算的时间,一步就得出结果,很多朋友在使用countif函数时,会出现一些错误导致不成功,我们这就来给你详细讲讲countif函数是应该如何使用的。countif函数的含义...

  • SUBTOTAL函数怎么用?

    SUBTOTAL函数怎么用?

    操作方法01隐藏行汇总方法:在目标单元格输入公式:=SUBTOTAL(109,C3:C9)。02筛选汇总。方法:在目标单元格输入公式:=SUBTOTAL...

  • 函数库是什么意思?

    函数库是什么意思?

    函数库是指由一组编写好的、结构化的可执行函数组成的库文件,其中的函数可以增加程序的通用功能以提升程序的运行效率,节省开发时间并提高软件的质量。函数库更常用于缩短编程时间、提供程序实现通用功能以及用于程序编写中特定功能的实现。函数库有帮助程...

  • 用数学画图软件——Graph绘制函数图形

    用数学画图软件——Graph绘制函数图形

    Graph是一款开源类的绘制函数图像软件。它不仅能根据函数绘制其图像,还能够绘制曲线上的切线、法线和阴影等。除了绘制功能,它还具有计算功能,其中包括曲线长度、面积等的计算。下面我来给大家介绍一下如何使用Graph绘制函数图像。操作方法...

  • Excel SLOPE函数的使用方法

    Excel SLOPE函数的使用方法

    在数学中SLOPE是斜率的意思,Excel中的SLOPE函数也是一个计算斜率的函数。请诸位和我一起学习——SLOPE函数。操作方法01SLOPE函数的功能把已知的自变量和因变量作为数据点,计算线性回...

  • Excel之MODE函数使用方法

    Excel之MODE函数使用方法

    MODE返回的数组或数据区域中出现频率最高或重复出现次数最多的值。此函数已被替换MODE.MULT函数和MODE.SNGL函数。操作方法01打开Excel,将测试使用的数据复制到表格中,如下图。...

  • 数学画图软件函数哪个好用 函数生成图像软件推荐

    数学画图软件函数哪个好用 函数生成图像软件推荐

    对于科技发达的互联网时代,很多学生是可以借用软件的方式来帮助自己快速的完成作业,接下来就简单的给大家分享下数学画图软件函数哪个好用,这次的合集里边会有几款非常经典的佳作分享给大家,通过时间的证明足以看到它们的优越性,感兴趣的话可以跟小编自己...

  • 反函数公式掌握,提高数学水平(应对复杂计算)

    反函数公式掌握,提高数学水平(应对复杂计算)

    反函数公式掌握,提高数学水平(应对复杂计算)反函数公式是高中数学中比较重要的概念之一,掌握反函数公式不仅可以提高数学水平,还可以帮助我们应对各种复杂计算。反函数公式是指将函数f(x)的自变量x和因变量y对调,得到一个新的函数g(y),称为f...

  • 周排行
  • 月排行
  • 年排行

精彩推荐