原因:因为百分号(%)不是可读的数字类型,除非用小数表示,否则只能用字符类型来保存。
工具: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%转为字符保存。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)