返回首页DA系统C#IDE文件同步服务屏保 今天是: 2026-07-19    美好的一天,从现在开始

搜索
热搜: linux 技术
Hi~登录注册
查看: 106|回复: 0

[原创] 【原创】Oracle12c命令行访问时,数据以格式化输出的必要设置

[复制链接]
发表于 2026-6-25 21:00:49 | 显示全部楼层 |阅读模式

少侠不来段修仙之旅吗~

您需要 登录 才可以下载或查看,没有帐号?注册成为修仙之旅的少年~

x
Oracle12c命令行访问时,数据以格式化输出的必要设置

SET PAGESIZE 0;
# 将每页的行数设置为 0        
# 当 PAGESIZE = 0 时,SQL*Plus 会完全禁用分页,不在输出中插入任何标题行、分隔线或空行。这通常用于生成纯文本数据(如导出 CSV),保证输出只有数据行,没有页眉、列标题或页之间的空白。



SET LINESIZE 300;
# 设置每行的最大字符宽度为 300        控制输出的行宽。
# 当字段内容超过该宽度时,SQL*Plus 会自动换行(但如果 TRIMSPOOL ON,换行后行尾空格会被裁掉)。对于导出 CSV 等场景,设置一个足够大的 LINESIZE(如 300)可以避免单行被意外截断或换行,保证每条记录完整占一行。




SET HEADING OFF;
# 关闭列标题显示        
# 执行查询时,不再输出每个列的标题行(即 COLUMN 的 HEADING 或默认字段名)。配合 PAGESIZE 0 使用,输出内容只有数据,更加纯净。





SET FEEDBACK OFF;
# 关闭反馈信息        
# 不再显示 “xx rows selected” 之类的提示信息。避免这些额外文本混入数据输出中,尤其在重定向或 SPOOL 时很重要。




SET RECSEP OFF;
# 关闭记录分隔符        
# 默认情况下,RECSEP 控制是否在每条记录后打印分隔线(如一排 - 或 =)。OFF 表示完全不打印任何记录间隔符号,保证输出连续的行。




SET TRIMSPOOL ON;
# 去除 SPOOL 输出行尾的空白字符        
# 当使用 SPOOL 将输出写入文件时,TRIMSPOOL ON 会去掉每行末尾的空格,避免文件体积膨胀,也方便后续解析。




SET NULL null;
# 将 NULL 值显示为指定的字符串(这里是 'null')        
# 在查询结果中,如果某个字段的值为 NULL,默认显示为空白。此命令将其替换为字符串 'null',让你能明确区分 NULL 和空字符串。不过请注意,如果你在 SELECT 中使用了 NVL 或 COALESCE,则 SET NULL 不会覆盖那些显式转换。


游客
回复
*滑块验证:

DA论坛飞机票来了~
快速回复 返回顶部 返回列表