在SQL中,如何在不使用CASE语句的情况下,将列的值赋值为null,当满足条件A或条件B时使用嵌套的NULLIF函数
P粉310754094
P粉310754094 2023-08-25 13:26:01
0
2
523
<p>我有一列C1,其值可以是'values'、'empty'或'N/A'。</p> <pre class="brush:php;toolbar:false;">| C1 | ------- | | | N/A | |apple|</pre> <p>我想以一种方式选择列C1,将空值和N/A转换为NULL,使用NULLIF。</p> <pre class="brush:php;toolbar:false;">| C1 | ------- |NULL | |NULL | |apple|</pre> <p>我们可以使用<code>NULLIF(C1, '')</code>,如果列值为空,则返回NULL。</p> <p>我们也可以使用CASE实现这两种情况,但我想知道是否有一种方法可以使用NULLIF来实现,如果有,如何实现?(或者除了CASE之外的其他方法)</p> <p>类似于<code>NULLIF(C1, '' OR 'N/A')</code></p> <p>提前感谢。</p>
P粉310754094
P粉310754094

全部回复(2)
P粉253800312

使用case表达式:

(case when c1 not in ('', 'N/A') then c1 end)
P粉925239921

您可以使用嵌套的 NULLIF() 函数来实现:

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

请参见 演示

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!