sql-server – SQL Server中的ISNULL(SUM(x),0)或SUM(ISNULL(x,0
发布时间:2020-12-12 16:48:21 所属栏目:MsSql教程 来源:网络整理
导读:以下哪一项是正确的? SUM(ISNULL(Sales,0)) AS Sales,ISNULL(SUM(Sales),0) AS Sales, 还是他们都是正确的? 解决方法 它们都返回相同的,除非您在空结果集上运行查询. WITH Sales(Sales) AS(SELECT 1)SELECT SUM(ISNULL(Sales,0) AS SalesFROM Sales WHERE 1
以下哪一项是正确的?
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 FROM Sales WHERE 1=0 返回 Sales Sales ----------- ----------- NULL 0 SUM(ISNULL(Sales,0))版本将避免ANSI WARNINGS关于聚合NULL. 另一个微妙的区别是ISNULL(SUM(Sales),0)的结果列的数据类型不被视为可空. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |