- 积分
- 70
- UID
- 16697
- 阅读权限
- 20
- 注册时间
- 2014-10-20
- 精华
- 在线时间
- 小时
- 最后登录
- 1970-1-1
- 职业
- 1
|
我有以函数,代码如下:
CREATE FUNCTION f_workload(v_uploadid VARCHAR(200))
RETURNS varchar(50) CHARSET utf8
BEGIN
DECLARE v_workload VARCHAR(50);
DECLARE v_num VARCHAR(20) DEFAULT 1;
IF LOCATE(',',v_uploadid) = 0 THEN
SET v_num = v_uploadid;
ELSE
WHILE v_uploadid <> '' DO
SET v_num =v_num*SUBSTRING_INDEX(v_uploadid,',',1);
SET v_uploadid = SUBSTR(v_uploadid,LENGTH(SUBSTRING_INDEX(v_uploadid,',',1))+2) ;
END WHILE;
END IF;
RETURN v_num;
假如我输入参数是'0.2,0.2,0.2',按我的需求来说应该是0.008啊,为什么结果会是0.008000000000000002这么长的数字呢?
求解。。。。。。。
|
|