这是查询
CASE SF.value
WHEN '' THEN '9999999999'
WHEN 'N/A' THEN '99999999'
WHEN 'POA' THEN '999999999'
WHEN 'Free' THEN -1
ELSE IF(SF.value IS NULL,'9999999999',CAST(SF.value as DECIMAL))
END as priceval,
///End Query
我在DB中有价值
value(varchar)
4
4.5
4.3
6.6
从数据库中取出后,
PRINTING:
var_dump($data);
Output
---------
string(1) "4"
string(1) "5"
string(1) "5"
string(1) "7"
我需要得到以下顺序的值由整数或浮点数或十进制,但值的顺序
string(1) "4"
string(3) "4.3"
string(3) "4.5"
string(3) "6.6"
(OR)
int(1) "4"
int(3) "4.3"
int(3) "4.5"
int(3) "6.6"
您使用DECIMAL
而没有指定精度,请尝试使用CAST(SF.value AS DECIMAL(10,1))