1,数据库里没有百分数这样的类型,表示数字的有float,decimal等类型,表示文本的有varchar,char,text等类型。
都江堰网站制作公司哪家好,找创新互联建站!从网页设计、网站建设、微信开发、APP开发、响应式网站开发等网站项目制作,到程序开发,运营维护。创新互联建站2013年至今到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联建站。
2, 如果你想存百分比的话,最好是建个float字段,把百分比计算成数值存进去,如果你非要存到库里面显示0%-100%这样的数值的话,那就用varchar类型的就可以了,取出的时候,你在换算就可以了。
应该是这样的::
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;
1,每个数据库对应一个文件夹,文件夹名和库名相同;
2,(单独的表空间中) 每张表对应几个文件,文件名和表名相同,innodb引擎中对应两个文件,后缀名为:frm、ibd;
frm文件:存储的是表结构信息。
ibd文件:存储的是表里的数据、索引等。
需要用字符型,如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%转为字符保存。