gpt4 book ai didi

sql - 没有返回记录时 ISNULL() 不返回值

转载 作者:行者123 更新时间:2023-12-04 21:33:02 26 4
gpt4 key购买 nike

在没有记录匹配的情况下 ICAO='YXTO'

SELECT 1, ISNULL((SELECT ID FROM Location WHERE ICAO='YXTO'),2)

返回 1,2

鉴于

SELECT 1, (SELECT ISNULL(ID,2) FROM Location WHERE ICAO='YXTO')

返回 1,NULL

这是怎么回事?没有记录可操作时,ISNULL不返回值吗?

最佳答案

没错。

在第一种情况下,子查询是标量子查询。当没有匹配时,结果为 NULL。这作为参数传递给 ISNULL(),因此返回 2

在第二种情况下,子查询也是标量子查询。当没有匹配项时,它也会返回 NULL —— 没有返回行,因此永远不会调用 ISNULL()。没有捕获到 NULL,因此返回 NULL

关于sql - 没有返回记录时 ISNULL() 不返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37557349/

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