2015-10-20 39 views
1

我要讓列中的計算,其中包含空值的BigQuery - NULL值

x1  x2 
9  0.0 
5  1.2 
12  null 
10  null 

如果計算

x1 + (x1*x2) 

製成,它導致

9, 6, null, null 

你能請提出,如何處理空值,結果將是

9, 6, 12, 10 

我嘗試ifelse,如果值爲空,然後用1

IF(x1 = null, 0, x1) 

,但結果仍然是空值。

謝謝!

回答

7

使用IFNULL(expr, 0) - 如果expr爲空,這將返回0。

一般而不是做something=nullsomething IS null

+1

其原因是(從「IS NULL」和「IFNULL」除外)涉及空任何表達式會無效,即使該表達式是像「富=空」。 –

0

在Google Big Query中使用ifnull函數。(提供鏈接)

IFNULL(x1, 0)*IFNULL(x2,0) as new_col 
  • 這將插入0代替X1和X2的任何空值的。

FYI:有一個在谷歌雲數據準備一個ISNULL(column_name)就像在MySQL,將返回一個布爾值,即無論是真或假,這取決於柱爲空或不是。