2016-07-23 69 views
-1

我有不同的產品資源,許多表,選擇0,如果NULL發現 - MySQL的

不幸的是,QuantityVarchar類型。

默認情況下,某些行包含null值,如果在INSERT操作期間未輸入Quantity

我想SELECT查詢返回0如果數量爲null

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

但是,這仍然會返回NULL

回答

3

使用COALESCE()

返回列表中的第一個非NULL值如果沒有非NULL值,則返回NULL。

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

如果我有空值,而不是'null'。它會返回0嗎? – Umair

+0

施放一個空字符串應該使其值爲0 –

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

如果我有EMPTY值而不是'null',該怎麼辦?它會返回0嗎? – Umair

1

您可以使用IFNULL

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