我有很多不同产品资源的表格,
不幸的是,Quantity
列属于Varchar
类型。
如果在INSERT操作期间未输入null
,则某些行默认包含Quantity
个值。
如果数量为0
null
SELECT CAST( quantity AS DECIMAL( 6, 2 ) )
FROM `tablename`
但这仍然会返回NULL
答案 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`