0
在一个表我定义字段作为差(16)
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)
如何使第一个查询的spool输出也只显示16个大小。 这可能吗?
'VARCHAR2(16 CHAR)'将存储16个字符,而'VARCHAR2(16)'是'VARCHAR2(16字节)'将存储速记16个字节(对于多字节字符,这将存储少于16个字符)。 – MT0
@ MT0:我不认为这是非常正确的。 'VARCHAR2(16)'的含义取决于NLS_LENGTH_SEMANTICS的设置方式。看到[这个问题](http://stackoverflow.com/questions/7477564/varchar2n-bytechar-default-char-or-byte)更好的解释。 –
@BobJarvis默认是'BYTE',但是,我会同意它取决于该参数。 – MT0