有时客户需要流水数据,当导出为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))
转换前,得到输出为数字输出,靠右

转换后,得到输出为字符串输出,靠左

注意:mysql 语句中 sum计算的数值一般为 decimal 。
本文介绍了如何解决在导出数据库数据到Excel时,长数字变为科学记数法的问题。通过在Oracle和MySQL中将decimal/int类型转换为varchar,可以确保在Excel中正确显示。在Oracle中,可以通过添加单引号转换字段,而在MySQL中,可以使用CAST函数转换。这种方法对于需要清晰查看流水数据或其他长数字的场景非常有用。


被折叠的 条评论
为什么被折叠?



