gpt4 book ai didi

sql-server - SQL Server中ISNULL(SUM(x),0)或SUM(ISNULL(x,0)之间的差异

转载 作者:行者123 更新时间:2023-12-03 07:32:00 24 4
gpt4 key购买 nike

以下哪一项是正确的?

        SUM(ISNULL(Sales,0)) AS Sales,
ISNULL(SUM(Sales),0) AS Sales,

还是两者都正确?

最佳答案

它们都返回相同的结果,除非您要对空结果集运行查询。

WITH Sales(Sales) AS
(
SELECT 1
)
SELECT
SUM(ISNULL(Sales,0)) AS Sales,
ISNULL(SUM(Sales),0) AS Sales
FROM Sales
WHERE 1=0

退货
Sales       Sales
----------- -----------
NULL 0
SUM(ISNULL(Sales,0))版本将避免有关聚合 NULL的ANSI警告。

另一个细微的区别是 ISNULL(SUM(Sales),0)的结果列的数据类型不被视为可为空。

关于sql-server - SQL Server中ISNULL(SUM(x),0)或SUM(ISNULL(x,0)之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16322382/

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