如果找到NULL则选择0 - MySQL

时间:2016-07-23 12:37:03

标签: php mysql null

我有很多不同产品资源的表格,

不幸的是,Quantity列属于Varchar类型。

如果在INSERT操作期间未输入null,则某些行默认包含Quantity个值。

如果数量为0

,我希望SELECT查询返回null
SELECT CAST( quantity AS DECIMAL( 6, 2 ) ) 
FROM  `tablename` 

但这仍然会返回NULL

4 个答案:

答案 0 :(得分:3)

使用COALESCE()

  

返回列表中的第一个非NULL值,如果没有非NULL值,则返回NULL。

SELECT COALESCE(CAST( quantity AS DECIMAL( 6, 2 ) ), 0) 
FROM  `tablename` 

答案 1 :(得分:2)

SELECT CAST( COALESCE(quantity ,0) AS DECIMAL( 6, 2 ) )
FROM  `tablename` 

答案 2 :(得分:1)

您可以使用ifnull

SELECT ifnull(CAST( quantity AS DECIMAL( 6, 2 ) ), 0) from  your_table; 

答案 3 :(得分:1)

SELECT COALESCE(CAST( quantity AS DECIMAL( 6, 2 ) ), 0) 
FROM  `tablename`

参考:http://www.w3schools.com/sql/sql_isnull.asp