sqlplus到csv科学数字转换

时间:2016-07-20 08:35:14

标签: oracle shell unix sqlplus type-conversion

我在shell脚本下的Unix中有以下内容:

SET linesize 2000
SET pagesize 50000
SET ECHO OFF
SET FEEDBACK OFF
SET VERIFY OFF
SET MARKUP HTML OFF
set numwidth 17
set colsep ","

select accountnum, cardnum, name, address, number from employee;

一旦它在.csv中生成输出,cardnum和accountnum变得科学如下:

5.30706E+15

我希望它是:

501889176278289

我知道如何在Excel中更改它,但因为我将这些报告发送给客户端。我希望它能以正确的格式传递给他们,这样他们就不必改变任何东西。

2 个答案:

答案 0 :(得分:0)

我会建议:

SELECT TO_CHAR(accountnum,'9999999999999999999') accountnum
     , TO_CHAR(cardnum,'9999999999999999999') cardnum
     , name, address, number 
  FROM employee;

答案 1 :(得分:0)

除了TO_CHAR在其他答案中建议您,您可以尝试:
set numformat 9999999999999999999应解决您的问题。
另一种方式是COLUMN accountnum FORMAT 9999999999999999999