2014-01-21 30 views
0

我有兩個mysql數字表。 (1,NULL,NULL,)(5,NULL,NULL)等,在兩個表中稱爲Results1和Results2 我輸出到一個PHP表中,我不能完全弄清楚如何顯示NULL值如'0'或'N/A',而不是空白。我試過使用IF語句進行MySQL查詢,但我無法弄清楚。對不起,如果我的英語不好,我不會說它是第一語言。感謝您的任何幫助。在MySQL字段中創建NULL值顯示爲0/N/A

+1

'COALESCE(valuecolumn,0)'? –

回答

1

您可以使用IFNULL在查詢中輸出更改爲 'N/A' 爲NULL值

SELECT col1, col2, IFNULL(col3, 'N/A'), col4 FROM table 
+0

感謝你解答這個問題 – user3220775

0
select 
.... 
case when myCol is null then 'N/A' else myCol end as myColCleaned 
.... 

或者只是使用合併趕上NULL值:

select 
... 
coalesce(myCol, 'N/A') as myColCleaned 
... 

使用CASE爲您提供了更多的靈活性,你可以在必要時更換不只是NULL但其他值。

0

你可以做一個IF()

SELECT IF(`col` IS NULL, '0', `col`) AS `col` … 
SELECT IF(`col` IS NULL, 'N/A', `col`) AS `col`… 

或在表結構檢查IFNULL()

SELECT IFNULL(`col`, 'N/A') AS `col`… 
SELECT IFNULL(`col`, '0') AS `col`… 
-1

可以加入預設值爲0檢查

+0

如果你想'NULL',這不會幫助你。這也是非常糟糕的地方,那就是對另一個表的ID引用。 – tadman

0

可以if語句做PHP。

if(isset($row['NULL_ROW'])&is_null($row['NULL_ROW'])) 
{ 
     echo '0'; 
} 
+0

這比重寫'$ row ['NULL_ROW']'的值要複雜得多。 – tadman