[20221203]sqlplus set trimspool 问题.txt --//自己对这个不是很了解,做一个测试,上网查询到的设置是: --//set trimspool on; -- 去除spool输出结果中每行的结尾空格(缺省为off) --//通过测试说明问题: 1.环境: SCOTT@test01p> @ ver1 PORT_STRING VERSION BANNER CON_ID ------------------------------ -------------- -------------------------------------------------------------------------------- ---------- IBMPC/WIN_NT64-9.1.0 12.2.0.1.0 Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production 0 --//我登录设置如下: SCOTT@test01p> show trimspool trimspool ON SCOTT@test01p> show trimout trimout ON 2.建立测试例子: $ cat -Ev aa.txt select $ sysdate from dual ;$ --//注意结尾的空格. SCOTT@test01p> @ aa.txt SYSDATE ------------------- 2022-12-02 20:58:50 --//手工执行5次以上,不要退出. 3.分析: --//看上面的提示仅仅对spool的输出有效. $ sqlplus -s -l scott/btbtms@test01p <<< "column sql_fulltext format a40 ^Jset trimspool on^Jspool x1.txt^Jselect sql_fulltext from v\$sqlarea where sql_id='bz7x703gcr9t2';^Jspool off;" SQL_FULLTEXT ---------------------------------------- select sysdate from dual --//^J 在linux下通过ctrl+v ctrl+j输入.我虽然使用windows但是在cygwin下使用. $ cat -Ev x1.txt ^M$ SQL_FULLTEXT^M$ ----------------------------------------^M$ select^M$ sysdate from dual^M$ ^M$ ^M$ --//set trimspool on; -- 去除spool输出结果中每行的结尾空格(缺省为off) --//实际上其作用与set trimout on类似,只不过针对spool,注意看cat的输出.selecct后面的空格没有,分号之前的空格也没有. --//windows下sqlplus文本处理结尾\r\n.多了一个字符^M. $ sqlplus -s -l scott/btbtms@test01p <<< "set linesize 50;^Jcolumn sql_fulltext format a40 ^Jset trimspool off^Jspool x1.txt^Jselect sql_fulltext from v\$sqlarea where sql_id='bz7x703gcr9t2';^Jspool off;" SQL_FULLTEXT ---------------------------------------- select sysdate from dual Administrator@zws ~ $ cat -Ev x1.txt ^M$ SQL_FULLTEXT ^M$ ---------------------------------------- ^M$ select ^M$ sysdate from dual ^M$ ^M$ ^M$ --//结尾$位于52列的位置,因为^M占用51列的位置. SCOTT@test01p> select dump(to_char(sql_fulltext),16) c50 , sql_fulltext c40 ,length(sql_fulltext) n10 from v$sqlarea where sql_id='bz7x703gcr9t2'; C50 C40 N10 -------------------------------------------------- ---------------------------------------- --------------------- Typ=1 Len=31: 20,20,20,20,20,20,73,65,6c,65,63,74, select 31 a,73,79,73,64,61,74,65,20,66,72,6f,6d,20,64,75,61, sysdate from dual 6c,20 --//你可以发现sqlplus在执行语句时,sqlplus做了"处理"删除了每行结尾空格.而最后一行分号前的空格保留,也就是仅仅去除分号. --//实际上trimout与trimspool类似,一个针对输出,另外一个针对spool输出. --//建议两者格式设置都是on. 4.顺便测试tab: SCOTT@test01p> show tab tab OFF $ cat -Ev aa.txt select $ sysdate from dual ;$ --//我修改aa.txt文本,select前9个空格. SCOTT@test01p> @ aa.txt SYSDATE ------------------- 2022-12-02 21:13:47 SCOTT@test01p> @ tpt/hash HASH_VALUE SQL_ID CHILD_NUMBER KGL_BUCKET PLAN_HASH_VALUE HASH_HEX SQL_EXEC_START SQL_EXEC_ID ---------- ------------- ------------ ---------- --------------- ---------- ------------------- ----------- 3306312071 9fd1vgv2j4nc7 0 20871 1388734953 c5125187 2022-12-02 21:13:47 16777220 $ sqlplus -s -l scott/btbtms@test01p <<< "set linesize 50;^Jcolumn sql_fulltext format a40 ^Jset tab on^Jselect sql_fulltext from v\$sqlarea where sql_id='9fd1vgv2j4nc7';" | cat -Ev -t ^M$ SQL_FULLTEXT^M$ ----------------------------------------^M$ ^I select^M$ sysdate from dual^M$ ^M$ ^M$ --//注意select前的^I输出,表示tab,这样在一些文本编辑工具上由于tabstop设置不同,出现不对齐的情况. $ sqlplus -s -l scott/btbtms@test01p <<< "set linesize 50;^Jcolumn sql_fulltext format a40 ^Jset tab off^Jselect sql_fulltext from v\$sqlarea where sql_id='9fd1vgv2j4nc7';" | cat -Ev -t ^M$ SQL_FULLTEXT^M$ ----------------------------------------^M$ select^M$ sysdate from dual^M$ ^M$ ^M$ 4.总结: --//从以上测试,可以看出设置如下比较合理: set trimspool ON set trimout ON set tab off
[20221203]sqlplus set trimspool 问题.txt
来源:这里教程网
时间:2026-03-03 18:14:58
作者:
编辑推荐:
- [20221203]sqlplus set trimspool 问题.txt03-03
- expdp/impdp变慢 (Doc ID 2469587.1)03-03
- 值得推荐的5款电脑软件,赶紧收藏起来吧!03-03
- Oracle报performing DMLDDL operation over object in bin案例分析03-03
- 【ASK_ORACLE】你需要知道的对数据文件dbf的一些基础操作03-03
- [20221207]为什么FORCE_MATCHING_SIGNATURE不一致.txt03-03
- Oracle RAC命中ORA-7445只能打开一个节点故障案例分析03-03
- 数据库日常实操优质文章分享(含Oracle、MySQL等) | 11月刊03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 值得推荐的5款电脑软件,赶紧收藏起来吧!
值得推荐的5款电脑软件,赶紧收藏起来吧!
26-03-03 - Oracle报performing DMLDDL operation over object in bin案例分析
- Oracle RAC命中ORA-7445只能打开一个节点故障案例分析
Oracle RAC命中ORA-7445只能打开一个节点故障案例分析
26-03-03 - 数据库日常实操优质文章分享(含Oracle、MySQL等) | 11月刊
数据库日常实操优质文章分享(含Oracle、MySQL等) | 11月刊
26-03-03 - Oracle数据库监控
Oracle数据库监控
26-03-03 - 好软件当然要拿出来分享啦!
好软件当然要拿出来分享啦!
26-03-03 - 阿里影业吹响盈利号角,电影院线黎明将至?
阿里影业吹响盈利号角,电影院线黎明将至?
26-03-03 - SQL语言基础(函数)
SQL语言基础(函数)
26-03-03 - 零工经济爆发:蓝鸟云破而后立,BOSS直聘稳步推进
零工经济爆发:蓝鸟云破而后立,BOSS直聘稳步推进
26-03-03 - 数据库选型比对 Oracle vs sqlserver
数据库选型比对 Oracle vs sqlserver
26-03-03
