重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
需要用字符型,如varchar,varchar2,char等。
为河源等地区用户提供了全套网页设计制作服务,及河源网站建设行业解决方案。主营业务为成都网站设计、成都网站制作、河源网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
原因:
因为百分数中的百分号属于字符,无法直接插入数字类型中。
演示:
1、创建测试表:
create table test
(id1 number(10,2),
id2 varchar2(10));
2、插入数据:
insert into test values (10%,2);
执行时会报错,因为number类型的字段中无法保存百分数。
insert into test values (1,'20%');
按上边语句则可以成功,已经将20%转为字符保存。
应该是这样的::
select name,brand_id,concat(floor((sum(goods_num)/(select sum(goods_num) from tablename))*100),'%') as goods_num_rate
from tablename group by name;
假如id是顺序索引可以这样select id from table order by id desc limit 1,然后在select * from table limit1,上线
1,数据库里没有百分数这样的类型,表示数字的有float,decimal等类型,表示文本的有varchar,char,text等类型。
2, 如果你想存百分比的话,最好是建个float字段,把百分比计算成数值存进去,如果你非要存到库里面显示0%-100%这样的数值的话,那就用varchar类型的就可以了,取出的时候,你在换算就可以了。