61
讓我們假設下面的表(例如數內的結果來聯合聲明):MySQL的:鑄字NULL 0
id | column_1 | column_2
------------------------
1 | 1 |
2 | 2 | 2
3 | | 3
,你可以從例如下面的語句得到:
select a.id, t1.column_1, t2.column_2
from a
left join t1 on a.id = t1.id
left join t2 on a.id = t2.id
現在,如果我想如下
select
a.id,
t1.column_1,
t2.column_2,
(t1.column_1 + t2.column_2) as cumulated
from a
left join t1 on a.id = t1.id
left join t2 on a.id = t2.id
總結t1.column_1和t2.column_2
的reslut將如下所示:
id | column_1 | column_2 | cumulated
------------------------------------
1 | 1 | NULL | NULL
2 | 2 | 2 | 4
3 | NULL | 3 | NULL
我的問題主要是:有沒有辦法來強制轉換爲NULL 0,以做一些數學?
我試過CONVERT(t1.column_1, SIGNED)
和CAST(t1.column_1 as SIGNED)
,但NULL
保持NULL
。
和coalesce可以有多個值? – 2009-09-17 21:07:41
是......所以COALESCE(column1,column2,0)將返回這些值的第一個非空值。請記住,這是水平工作,而不是垂直工作。這些列必須屬於同一個表格行。 – 2009-09-17 21:15:01
@David:幹得好。 – 2009-09-18 05:19:34