【问题标题】:sqlplus to csv scientific number conversionsqlplus到csv科学数的转换
【发布时间】:2016-11-23 09:27:48
【问题描述】:

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

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 中更改它,但因为我将这些报告发送给客户。我希望它以正确的格式发送给他们,这样他们就不必更改任何内容。

【问题讨论】:

    标签: oracle shell unix sqlplus type-conversion


    【解决方案1】:

    我建议这样做:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-04-21
        • 1970-01-01
        • 2023-02-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多