建立数据库(表)时%(百分数)用的是什么数据类型?

建立数据库(表)时%(百分数)用的是什么数据类型?,第1张

建立数据库表时,百分数要用字符类型

原因:因为百分号(%)不是可读的数字类型,除非用小数表示,否则只能用字符类型来保存。

工具:mysql 5.6

测试步骤:

1、数据库中test表结构如下,其中col1为字符类型,col2位数字类型

2、在col1中插入50%这个数据。语句如下:

insert into test(col1) values ('50%')

插入后结果:

3、在col2中也插入50%这个数据,语句如下:

update test set col2=50%

系统会报错:

总结:说明带百分号的数据只能用字符类型来存储。

需要用字符型,如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%转为字符保存。

FLOAT

FLOAT数据类型可精确到第15 位小数,其范围为从-1.79E -308 到1.79E +308

DECIMAL

DECIMAL数据类型可以提供小数所需要的实际存储空间,但也有一定的限制,您可以用2 到17 个字节来存储从-10的38次方-1 到10的38次方-1 之间的数值。

两个都可以,一般使用Float类型的小数来表示百分比,但是根据你的需要使用其他表示方法也行,使用字符型,把比例用字符串的形式存入也是可以的,比如说使用varchar,存入'1/7',使用INT,根据精度存入数字,如1234,取出后除以100,得12.34等等。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9963318.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存