原因:因为百分号(%)不是可读的数字类型,除非用小数表示,否则只能用字符类型来保存。
工具:mysql 5.6
测试步骤:
1、数据库中test表结构如下,其中col1为字符类型,col2位数字类型
2、在col1中插入50%这个数据。语句如下:
insert into test(col1) values ('50%')插入后结果:
3、在col2中也插入50%这个数据,语句如下:
update test set col2=50%系统会报错:
总结:说明带百分号的数据只能用字符类型来存储。
没有百分数类型的(除非自定义)。如果99.2是指99.2%,那么转换成0.992(即除以100)即可。如果原本就是0.992,就不用转换。
注:显示格式是前台程序或者SQL语句控制的,与DB存贮值无关。
实际上在ACCESS表里保存的百分数是以数字来保存的,即0.123456,只是显示格式是用百分比。你要在网页上显示 12.3456% ,可以在网页上用函数将数字转一下格式成百分比。
也可以将ACCESS表的数字用字符来保存,直接存12.3456% ,这样输出到网页上就直接显示为12.3456% 了 ,不过不太建议,因为这样的资料不好作其他的处理。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)