1

我有一列 C1 的值可以是“值”或“空”或“N/A”。

|  C1 |
-------
|     |
| N/A |
|apple|

我想以一种使用 NULLIF 将空值和 N/A 转换为 NULL 的方式选择列 C1。

|  C1 |
-------
|NULL |
|NULL |
|apple|

NULLIF(C1, '')如果列值为空,我们可以这样做给出 NULL。

我们也可以使用 CASE 并以这种方式实现这两种情况,但我想知道是否有一种方法可以使用 NULLIF ,如果有,怎么做?(或CASE以外的任何方式)

就像是NULLIF(C1, '' OR 'N/A')

提前致谢。

4

2 回答 2

2

您可以使用嵌套的NULLIF()

NULLIF(NULLIF(c1, ''), 'N/A')

请参阅演示

于 2021-08-04T15:57:30.210 回答
1

使用case表达式:

(case when c1 not in ('', 'N/A') then c1 end)
于 2021-08-04T15:53:14.133 回答