在SQL*Plus 进行操作,记录输出结果到文档时,经常遇到错位问题,等宽问题。
这里有一个简单的技巧,通过 set tab off ,将 tab 转换为 space 空格,避免不同文本工具对于 tab 的转意。
看一下测试,缺省的查询输出(不要看这里的格式优雅,到其他文本工具就不这样了):
[oracle@enmotech ~]$ sqlplus / as sysdba
SQL*Plus: Release 20.0.0.0.0 - Production on Wed Feb 19 00:48:25 2020
Version 20.2.0.0.0
Copyright (c) 1982, 2020, Oracle. All rights reserved.
Connected to:
Oracle Database 20c Enterprise Edition Release 20.0.0.0.0 - Production
Version 20.2.0.0.0
SQL> col username for a20
SQL> select username,created from dba_users where rownum <5;
USERNAME CREATED
-------------------- ---------
SYS 17-FEB-20
SYSTEM 17-FEB-20
XS$NULL 17-FEB-20
OUTLN 17-FEB-20
这段输出复制到 UltraEdit 的效果如下:
设置一下 set tab off 再执行查询:
SQL> set tab off
SQL> select username,created from dba_users where rownum <5;
USERNAME CREATED
-------------------- ---------
SYS 17-FEB-20
SYSTEM 17-FEB-20
XS$NULL 17-FEB-20
OUTLN 17-FEB-20
现在的文本输出整齐了:
这是写作者经常遇到的困扰之一。