2014-01-21 36 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