我有不同的產品資源,許多表,選擇0,如果NULL發現 - MySQL的
不幸的是,Quantity
列Varchar
類型。
默認情況下,某些行包含null
值,如果在INSERT操作期間未輸入Quantity
。
我想SELECT查詢返回0
如果數量爲null
SELECT CAST(quantity AS DECIMAL(6, 2))
FROM `tablename`
但是,這仍然會返回NULL
我有不同的產品資源,許多表,選擇0,如果NULL發現 - MySQL的
不幸的是,Quantity
列Varchar
類型。
默認情況下,某些行包含null
值,如果在INSERT操作期間未輸入Quantity
。
我想SELECT查詢返回0
如果數量爲null
SELECT CAST(quantity AS DECIMAL(6, 2))
FROM `tablename`
但是,這仍然會返回NULL
使用COALESCE()
:
返回列表中的第一個非NULL值如果沒有非NULL值,則返回NULL。
SELECT COALESCE(CAST(quantity AS DECIMAL(6, 2)), 0)
FROM `tablename`
SELECT CAST(COALESCE(quantity ,0) AS DECIMAL(6, 2))
FROM `tablename`
如果我有EMPTY值而不是'null',該怎麼辦?它會返回0嗎? – Umair
您可以使用IFNULL
SELECT ifnull(CAST(quantity AS DECIMAL(6, 2)), 0) from your_table;
SELECT COALESCE(CAST(quantity AS DECIMAL(6, 2)), 0)
FROM `tablename`
如果我有空值,而不是'null'。它會返回0嗎? – Umair
施放一個空字符串應該使其值爲0 –