说明
此博客为本人在项目测试中遇到的问题和解决办法,为此记录一下.
小数问题
数据库验证:
select round(12.5,0) as '小数偶数12',round(13.5) as '小数奇数13',
round('12.5',0) as '字符串偶数12',round('13.5',0) as '字符串奇数13';
数据库结果
原因:字符串四舍五入会采用银行家算法.’12.5‘会向偶数舍,13.5会像奇数进.
表连接空值问题
sql存储过程:
create temporary table
temp_arrive
select '' as '第一个字段','' as '第二个字段' from 表0;
insert into temp_arrive
select 表1.第一个字段,表2.第二个字段 from 表1;
select * from temp_arrive;
问题介绍:表1是数据来源表,表2是输出表,在select查询数据时,有两列没有数据。而原表是有数据的.用shell脚本执行这个存储过程->写道csv后这两列没数据.
数据库字段类型:
原因:
第一个建临时表语句这个位置为 ’‘ 空,所以再进行insert,即使有数据,也插不进去,已经被char(0)固定.
建议(解决办法):
1.用union连接两个select语句,或者分别输出。别建表,因为字段会被写“死”.
2.‘’ 写成CAST(‘’ AS CHAR(20))