2013-03-06 64 views
0

我想要做這樣的選擇語句加法:如何在SQL中缺少值時強制添加?

select (I + j + k) as total from MyTable ... 

正如預期的那樣,如果有任何I,J的,k爲空,總返回爲空。

如何編碼此選擇,以便當任何I,j,k爲空(缺失)時,缺失值被視爲0以用於添加(因此總數不會爲空)?謝謝。

+0

搜索COALESCE。 – 2013-03-06 01:01:49

+0

要麼合併,要麼默認值爲0,不允許爲空值。如果所有值都爲0,那麼它將起作用 – 2013-03-06 03:36:07

回答

5
SELECT total = COALESCE(l,0) + COALESCE(j,0) + COALESCE(k,0) 
FROM dbo.MyTable; 
3
select ISNULL(I,0) + ISNULL(j,0) + ISNULL(k,0) as total from MyTable ... 

或在MySQL

select IFNULL(I,0) + IFNULL(j,0) + IFNULL(k,0) as total from MyTable ... 

+0

在SQL Server中沒有'IFNULL'這樣的東西。也許你的意思是'NULLIF',但在這種情況下這沒有意義。 – 2013-03-06 01:05:06

+0

是的,我只是想補充說的是,對於我來說,你是快速的。 – Hogan 2013-03-06 01:05:33

+0

不知道爲什麼一個MySQL的答案屬於這裏 - 這個問題不涉及MySQL。 – 2013-03-06 01:06:23