varchar2(16个字符)和varchar2(16个)之间的区别

时间:2017-04-27 11:33:12

标签: oracle sqlplus spool

在一个表格中,我将字段定义为

FORACID VARCHAR2(16 CHAR)

查询输出:select foracid from tbaadm.gam where rownum <= 5;

FORACID
----------------------------------------------------------------
00000063011015
00000063011028
00000063011024
00000063011023
00000441021004

在另一个表中,我将字段定义为

FORACID VARCHAR2(16)

查询输出:select foracid from tbaadm.gam where rownum <= 5;

FORACID
----------------
0382010021491
UB3
3667
PCAP
LO-CCA2

你可以看到,在第一个查询中,假脱机的大小为64(即16个字符,即16 * 4 = 64) 在第二个查询中,线轴是16大小(即16字节,即16 * 1 = 16)

如何使第一个查询的假脱机输出也只显示16个大小。? 有可能吗?

1 个答案:

答案 0 :(得分:1)

您可以format SQL/Plus reports (spooled queries)在查询

之前发出formatting directives
COLUMN FORACID FORMAT A16;                          -- A = Alphabetic, 16 = Column Width
SELECT FORACID FROM tbaadm.gam WHERE ROWNUM <= 5;