谁能告诉我将列的数据类型从 char 更改为varchar2
.
因为我面临的问题是当我触发选择查询时,即
select * from table_name where column_name in ('X','Y','Z');
上面的查询只返回几行。最近column_name
数据类型从 char 更改为varchar
. 返回的行是数据类型更改后的行。
varchar2 数据类型在存储在数据库中时,仅使用分配给它的空间。如果您有一个 varchar2(100) 并将 50 个字节放入表中,它将使用 52 个字节(前导长度字节)。
char 数据类型,当存储在数据库表中时,始终使用最大长度并填充空白。如果你有 char(100) 并将 50 个字节放入其中,它将消耗 102 个字节。
因此,在您的情况下,它可能只给出分配给 varchar 的空间中的行,因此我相信只返回几行。
参考自: http ://asktom.oracle.com/pls/asktom/f? p=100:11:0::::P11_QUESTION_ID:1542606219593