MySQL社区

标题: 如何把字符数字转换为数字 [打印本页]

作者: 乐章    时间: 2014-10-21 19:49
标题: 如何把字符数字转换为数字
我有以函数,代码如下:
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这么长的数字呢?
求解。。。。。。。


作者: kider    时间: 2014-10-22 12:11
最简单给字符串 + 0 ,如 select v_your+0; 即可转换成数字类型

参考帖子:
http://www.mysqlpub.com/thread-55999-1-1.html

作者: 乐章    时间: 2014-10-23 14:38
+0我试过的,能否结合我的函数具体运行一下?


作者: a8507024    时间: 2014-11-10 16:49
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 MySQL社区 (http://www.mysqlpub.com/) Powered by Discuz! X3.2