首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在SQL查询语句导出到Excel/csv时保持前导/前缀零?

如何在SQL查询语句导出到Excel/csv时保持前导/前缀零?
EN

Stack Overflow用户
提问于 2019-06-26 09:33:59
回答 3查看 4.3K关注 0票数 1

我使用Oracle,我想知道在通过下面的SQL查询语句导出到Excel/csv时,如何保持前导/前缀为零?

假定B.h(字符串类型)的值可能为00068573和098235

代码语言:javascript
运行
复制
SELECT A.e,
       A.f,
       A.g,
       B.h
FROM A 
JOIN C ON C.e=A.e
JOIN B ON C.j=B.j; 

我用Python导出数据,部分代码如下所示:

代码语言:javascript
运行
复制
for row_data in cursor:
    output.writerow(row_data)

非常感谢你的建议。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-06-26 09:49:35

代码语言:javascript
运行
复制
set heading off
set termout OFF
SET FEEDBACK OFF
SET TAB OFF
set pause off
set verify off
SET UNDERLINE OFF
set trimspool on
set timing off
set echo off
set linesize 1000
set pagesize 0
COLUMN CODE2 FORMAT 09999999
SET COLSEP ';'
spool test.csv

SELECT A.e,
       A.f,
       A.g,
       B.h as code2
FROM A 
JOIN C ON C.e=A.e
JOIN B ON C.j=B.j; 
spool off
exit;

或者使用to_char(B.h, '09999999')

代码语言:javascript
运行
复制
set heading off
    set termout OFF
    SET FEEDBACK OFF
    SET TAB OFF
    set pause off
    set verify off
    SET UNDERLINE OFF
    set trimspool on
    set timing off
    set echo off
    set linesize 1000
    set pagesize 0
    SET COLSEP ';'
    spool test.csv

    SELECT A.e,
           A.f,
           A.g,
           to_char(B.h, '09999999')
    FROM A 
    JOIN C ON C.e=A.e
    JOIN B ON C.j=B.j; 
    spool off
    exit;

如果字段是字符,则需要使用lpad函数。

代码语言:javascript
运行
复制
 SELECT A.e,
           A.f,
           A.g,
           LPAD(B.h, 9, '0') 
    FROM A 
    JOIN C ON C.e=A.e
    JOIN B ON C.j=B.j;
票数 0
EN

Stack Overflow用户

发布于 2019-06-26 11:41:33

您必须已经完成了csv格式的导出。从Oracle导出中,您将获得实际值,包括前导为零。在文本编辑器中打开.csv文件并检查值。如果要通过使用任何IDE (即)导出,则与sql无关。

票数 0
EN

Stack Overflow用户

发布于 2020-07-14 13:11:53

以上所说完全正确,将补充:-

  • 双击打开csv,在excel中打开它,不会显示尾随零。
  • 您可以在文本中打开以确认您将拥有零。
  • 现在要在excel中使用,只需打开一个新的excel >>,转到"Data“to >> "GET DATA">> From a File,然后选择csv/txt。这样,它将在不删除尾随零的情况下正确加载,您还将有一些选项,如更改编码。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56769570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档