有时客户需要流水数据,当导出为excel的时候,客户编号等很长数字的栏位,被excel变成科学记数法,无法正常查看。
因此,需要将Oracle/MySQL中的decimal/int 转 varchar,这样在excel中就可以放心查看了。
Oracle的转换方法:
1.新建表,并插入数据
drop table test purge;
create table test(id number);
insert into test values(13913613345);
select * from test;
2.导出为excel,变为了科学记数法
3.转化方法
select ‘‘‘‘||id from test;
如果是在其他程序/存储过程中执行,比如在utl_file中则:exec sql_to_csv(‘select ‘‘‘‘‘‘‘‘||id from test‘,‘OUT_PATH‘,‘test.csv‘);
MySQL的转换方法:
使用cast( as char())进行转化--select cast(19999992929 as char(20))
转换前,得到输出为数字输出,靠右
转换后,得到输出为字符串输出,靠左