gpt4 book ai didi

sql - NULLIF() 有哪些应用?

转载 作者:行者123 更新时间:2023-12-04 22:00:39 24 4
gpt4 key购买 nike

我只是对 NULLIF() 有一个微不足道但真正的用途,这是我在 SQL 职业生涯中的第一次。它是我刚刚忽略的广泛使用的工具,还是几乎被遗忘的 SQL 怪癖?它存在于所有主要的数据库实现中。

如果有人需要复习,NULLIF(A, B)返回第一个值,除非它等于第二个值,在这种情况下它返回 NULL .相当于这个CASE陈述:

CASE WHEN A <> B OR B IS NULL THEN A END

或者,在 C 风格的语法中:
A == B || A == null ? null : A

到目前为止,我发现的唯一重要示例是从聚合函数中排除特定值:
SELECT COUNT(NULLIF(Comment, 'Downvoted'))

这具有仅允许跳过单个值的限制; CASE ,虽然更冗长,但会让您使用表达式。

作为记录,我发现的用途是抑制“最近更改”列的值,如果它等于第一次更改:
SELECT Record, FirstChange, NULLIF(LatestChange, FirstChange) AS LatestChange

这只是因为它减少了人类消费者的视觉困惑。

最佳答案

我宁愿认为

NULLIF(A, B)

是语法糖
CASE WHEN A = B THEN NULL ELSE A END

但你是对的:它只是帮助人类读者的语法糖。

关于sql - NULLIF() 有哪些应用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6220956/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com