gpt4 book ai didi

oracle - Oracle 中的假脱机会在列中添加空格...我该如何避免呢?

转载 作者:行者123 更新时间:2023-12-04 00:11:47 25 4
gpt4 key购买 nike

我将查询结果保存在一个 csv 文件中,但当数据库中的原始数据不包含这些字段时,一些字段中添加了不需要的空格。

例如,如果数据库中的某一行具有值“how”、“are”和“you”,那么在假脱机处理后我在文件中得到的是这样一行:

"how    |  are |you      "

(编辑不让我多写空格,但你可以想象有很多)

当我只是希望它成为:

"how|are|you"

我已经尝试了几个设置选项但没有结果。有没有办法避免这些空间?提前致谢!

到目前为止我得到了什么:

SET ECHO OFF;
SET NEWP 0 SPACE 0 PAGES 0 FEED OFF HEAD OFF TRIMS OFF TRIM OFF TAB OFF;
set colsep '|';
set lines 130;

spool myfile.csv

SELECT * FROM SOME_TABLE;

spool off;

这进入了对 sqlplus 的调用。

最佳答案

所以你正在尝试这样的事情:

set colsep "|"

with demo as
( select 'Various' as col1, 'test' as col2, 'examples' as col3 from dual
union all select 'How', 'are', 'you' from dual )
select col1, col2, col3
from demo;

COL1 |COL2|COL3
-------|----|--------
Various|test|examples
How |are |you

不幸的是,SQL*Plus 不是为像这样卸载数据而设计的——分隔符是严格用于列的。您必须自己将值与管道连接起来,例如

col1 || '|' || col2 || '|' || col3

(并注意列格式,例如日期)。

关于oracle - Oracle 中的假脱机会在列中添加空格...我该如何避免呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33633136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com