gpt4 book ai didi

oracle - 在假脱机文件中添加换行符

转载 作者:行者123 更新时间:2023-12-01 06:12:34 24 4
gpt4 key购买 nike

有没有办法在 sql 假脱机文件中添加换行符?
我需要以特定方式构建文件。

'\n' 似乎不起作用,按字面意思打印

谢谢,

更新:我的SQL文件

-- Prepare blank file
SET NEWPAGE 0
SET SPACE 0
SET LINESIZE 250
SET PAGESIZE 0
SET ECHO OFF
SET FEEDBACK OFF
SET VERIFY OFF
SET HEADING OFF
SET MARKUP HTML OFF
SPOOL OFF

-- Create the Employees file
SPOOL employees.txt;
SELECT (case GENDER
when '1' then 'Mr.'
else 'Mrs.'
end ) ||' '||
LNAME ||', '||
FNAME ||' newline character '||
FUNCTION ||', '|| DEPARTMENT
from EMPLOYEES;
SPOOL OFF;

-- EXIT SQL and go back to the .bat
EXIT;

结果会是这样的:

先生。母鹿,约翰
财务经理

最佳答案

您可以使用 CHR function 使用其 ASCII 码(好吧,不是严格的 ASCII,但这里足够接近)嵌入一个换行符, 在这种情况下用 CHR(10) 来表示 \n:

SELECT (case GENDER
when '1' then 'Mr.'
else 'Mrs.'
end ) ||' '||
LNAME ||', '||
FNAME || CHR(10) ||
FUNCTION ||', '|| DEPARTMENT
from EMPLOYEES;

如果您还需要回车符,请也附加 CHR(13) (\r)。

如评论中所述,这也在行之间引入了一个空行。据我所知,摆脱它的唯一方法是 - 有点不直观 - SET RECSEP OFF。新行似乎使 SQL*Plus 将输出视为换行,您也可以使用 SET WRAP OFF 命令或使用 COLUMN ... TRUNCATE 选项来查看,两者都抑制第二行。

如果您只想将数据假脱机到文件而不是终端,您可能还想SET TAB OFFSET TERMOUT OFF


(在对问题进行更详细的编辑之前)

如果您只想在两个查询的结果之间留一个空行,您可以使用 SQL*Plus PROMPT command ,没有参数:

select dummy from dual;
prompt
select dummy from dual;

来自文档:

PRO[MPT] [text]

where text represents the text of the message you want to display.

Sends the specified message or a blank line to the user's screen. If you omit text, PROMPT displays a blank line on the user's screen.

您还可以查看关于 formatting SQL*Plus reports 的部分如果您对输出的外观有其他特定要求。

如果您有一个通过 dbms_output 调用生成输出的 PL/SQL block ,您可以使用 NEW_LINE在现有输出之间添加一个空行:

dbms_output.put_line('some text');
dbms_output.new_line;
dbms_output.put_line('some more text');

关于oracle - 在假脱机文件中添加换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19241913/

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