当前位置: 首页 > 面试题库 >

Oracle中的if(condition,then,else)

蓟清野
2023-03-14
问题内容

MySQL / MSSQL可以在查询中使用整齐的内联if函数,以检测空值,如下所示。

SELECT

...

foo.a_field AS "a_field",
SELECT if(foo.bar is null, 0, foo.bar) AS "bar",
foo.a_field AS "a_field",

...

我现在遇到的问题是该代码在Oracle数据库上运行不安全,因为它似乎不支持此内联if语法。

在Oracle中是否有等效功能?


问题答案:

使用标准的COALESCE函数:

SELECT COALESCE(foo.bar, 0) as "bar", ...

或使用Oracle自己的NVL函数执行相同的操作。



 类似资料:
  • if-then语句是最简单的控制语句形式,经常用于决策和更改程序执行的控制流程。 语法 (Syntax) if-then语句的语法是 - if condition then S 其中condition是布尔值或关系条件, S是简单或复合语句。 if-then语句的示例是 - if (a <= 20) then c:= c+1; 如果布尔表达式condition计算结果为true,那么将执

  • 它是最简单的控制语句形式,经常用于决策和改变程序执行的控制流程。 if-then语句的语法是 - If condition Then [Statement(s)] End If 其中, condition是布尔值或关系条件,Statement(s)是简单或复合语句。 If-Then语句的示例是 - If (a <= 20) Then c= c+1 End If 如果条件的计算结果为tr

  • 使用if-then语句,我们可以在一行中编写CoffeeScript的if语句。 它由一个布尔表达式后跟then关键字组成,后跟一个或多个语句。 当给定的布尔表达式为true时,将执行这些语句。 语法 (Syntax) 以下是CoffeeScript中if-then语句的语法。 if expression <b>then</b> Statement(s) to be executed if exp

  • if… then语句由一个逻辑表达式后跟一个或多个语句组成,并由end if语句终止。 语法 (Syntax) if… then语句的基本语法是 - if (logical expression) then statement end if 但是,你可以给if块命名,然后命名if语句的语法就像 - [name:] if (logical expression) then

  • if/then语句由一个布尔表达式后跟一个或多个语句组成。 语法 (Syntax) F#中的if/then结构具有以下语法 - (* simple if *) if expr then expr 流程图 例子 (Example) let a : int32 = 10 (* check the boolean condition using if statement *) if (a < 2

  • if-then语句后面可以跟一个可选的else语句,该语句在布尔表达式为false时执行。 语法 (Syntax) if-then-else语句的语法是 - if condition then S1 else S2; 其中, S1和S2是不同的陈述。 Please note that the statement S1 is not followed by a semicolon 。 在if-th