当数据库中的列为varchar时,当我从unix假脱机到csv文件时,如何提取数字格式的列?
CSV中的数字格式为5.05291E + 12 实际上应该是5052909272618
答案 0 :(得分:0)
这个问题不是Unix或ksh问题,而是Excel问题。假设Excel是.csv文件的默认应用程序,当您双击以在Excel中打开时,它会使列类型为" General"默认情况下,您可以获得科学记数法而不是预期的文本值。如果您的数字数据具有前导零,则它们也将被删除。
一种解决方法是启动Excel(2010版本中的此示例),转到数据/从文本获取外部数据/,按照向导确保设置"列数据格式" to" text"对于包含您的大号的列(单击"数据预览"第一部分中的列)。前导零也将被保留。
您可以编写一个vba宏,它将以所有列作为文本打开(稍微搜索会显示一些示例)但似乎没有地方可以告诉Excel将列视为" text"默认情况下。
答案 1 :(得分:0)
有必要编写报告,我也面临着同样的问题。我发现有一个解决方法/解决方案。例如 您的表格名称->员工 包含3列colA,colB,colC。问题出在colB上。连接到sqlplus后,您可以将数据保存到假脱机文件中:
选择colA ||员工的','''|| colB ||''',' || colC
样本结果:
3603342979,'8938190128981938938262',142796283。
当excel打开文件时,它显示结果“原样”