使用SUM(NULLIF(V1 = V2))安全嗎? 我的目標是要知道V1對於所有行是否等於V2(可爲空),因爲我在組聲明中使用了這個,所以我想到了這一點。 有沒有其他辦法可以達到同樣的效果?Sql:SUM(NULLIF(V1 = V2))可能嗎?
0
A
回答
0
在SUM
聚合之前最好使用COALESCE
方法。
+1
不,不是,因爲您添加了不必要的功能。如果您關心可能的最終NULL,最好使用'COALESCE(SUM(col))'而不是'SUM(COALESCE(col,0))',前者執行COALESCE一次,後者每行執行一次。 – dnoeth
0
要確定它們是否相等的所有行,你可以這樣做:
select (1 -
max(case when v1 = v2 then 0
when v1 is null and v2 is null then 0
else 1
end)
) as all_equal
from t;
相關問題
- 1. sql:BETWEEN v1和v2
- 2. Magento SOAP v1與v2性能對比
- 3. v1和v2簽名方案可能使用兩個不同的密鑰嗎?
- 4. SQL不能nullif
- 5. c#:編寫v1的更短路! ? V2:V2
- 6. java openx api v1或v2
- 7. Google Cloud Endpoints Migration v1至v2
- 8. 圖JS直線(V1 V2 VS)
- 9. 將koa v1遷移到v2
- 10. Google api版本v1 vs v2
- 11. 雅虎BOSS API - V1 - > V2
- 12. HipChat API Tokens v1與v2
- 13. reactor-v1.x.x Vs reactor-v2.x.x
- 14. Android:Google Maps API v1至v2
- 15. 帶有min/max的布爾表達式在nullif中可能嗎?
- 16. 停止Powershell V2調用命令-ComputerName它總是運行V1 V1
- 17. 無法刪除V1,V2,而R中
- 18. 從V1的WebPack移動到V2
- 19. 使用MapView的Google Maps API v1到v2
- 20. 在v1,v2等Sails.js組路線
- 21. Android - 從Google API v1遷移到v2
- 22. 從Dropbox api v1切換到v2
- 23. Android Google Maps API Key v1 v2問題
- 24. Android上的OMA DRM v1和v2支持
- 25. 將android google maps v1轉換爲v2
- 26. Kinect v1和Kinect v2類的替代品
- 27. 如何將Microsoft.OneDriveSDK v1遷移到v2?
- 28. 問題與jScrollPane,從v1更新到V2?
- 29. add_edge(v1,v2,graph) - 時間複雜度
- 30. Unity3D從V1到V2的線性插值
[NULLIF(https://docs.microsoft.com/en-us/sql/t-sql/language- elements/nullif-transact-sql)也可能返回Null。因此,有可能'SUM'可能分解或給出不正確的結果 –
@我認爲SUM忽略空值。 – Broccoli
我不知道'SUM'忽略NULL。在執行SUM之前,我總是使用'COALESCE'。但只是看看[這篇文章](https://stackoverflow.com/questions/37295336/is-it-safe-to-use-sum-without-isnull)。也感謝您的信息:) –