oracle case when null
时间: 2023-11-14 19:11:02 浏览: 163
在Oracle中,使用case when对字段进行判断时,当遇到某个字段值为空时,使用方法2的形式会导致判断出错。这是因为当使用when null时,实际上是类似于when 字段 = null,而null是不能用=去判断的,只能用is。因此,正确的做法是使用方法1判断取值时,即使用when contractdate is NULL。这样可以避免出现判断错误的情况。
相关问题
oracle case when判断null
在Oracle中,可以使用CASE WHEN语句来判断NULL值。例如:
SELECT
CASE
WHEN column_name IS NULL THEN 'NULL值'
ELSE '非NULL值'
END
FROM table_name;
在上面的例子中,如果列column_name的值为NULL,则返回“NULL值”,否则返回“非NULL值”。
oracle case when 用法
Oracle中的CASE WHEN语句是一种流程控制语句,它允许根据条件执行不同的操作。它的基本语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END;
```
其中,`condition1`、`condition2`等是条件表达式,`result1`、`result2`等是与条件表达式对应的结果。如果没有任何条件表达式被满足,则返回`ELSE`子句中的结果。如果没有`ELSE`子句,则返回`NULL`。
除了上述基本语法,Oracle的CASE WHEN语句还有其他一些用法,例如:
1. 使用搜索表达式:
```
CASE search_expression
WHEN expression1 THEN result1
WHEN expression2 THEN result2
...
ELSE resultN
END;
```
其中,`search_expression`是要比较的表达式,`expression1`、`expression2`等是与`search_expression`进行比较的表达式,`result1`、`result2`等是与条件表达式对应的结果。
2. 嵌套CASE WHEN语句:
```
CASE
WHEN condition1 THEN
CASE
WHEN subcondition1 THEN subresult1
WHEN subcondition2 THEN subresult2
...
ELSE subresultN
END
WHEN condition2 THEN result2
...
ELSE resultN
END;
```
其中,`subcondition1`、`subcondition2`等是嵌套的条件表达式,`subresult1`、`subresult2`等是与嵌套条件表达式对应的结果。
阅读全文