【发布时间】:2021-08-22 05:32:06
【问题描述】:
我很难理解为什么当行值表达式中有空值时这个 where-in 查询会失败。
select * from
FOO
where (
EPOCH,
CURRENCY_CODE,
PRICE_PROVIDER_CODE,
MARKET_EXTERNAL_ID)
in (
(1622736580084, 'USD', 'A', null),
(1622736580085, 'USD', 'B', null),
(1622736580086, 'USD', 'C', null)
)
查询未返回下表中的单个记录。我希望每个行值表达式都与一条记录完全匹配。我似乎 null 破坏了乐趣,我不明白为什么。
EPOCH CURENCY_CODE PRICE_PROVIDER_CODE MARKET_EXTERNAL_ID
------------------------------------------------------------------------
1622736580084 USD A NULL
1622736580085 USD B NULL
1622736580086 USD C NULL
对于MARKET_EXTERNAL_ID 字段中具有非空值的行,它按预期工作。
【问题讨论】:
-
用您正在使用的数据库标记您的问题。