0

谁能告诉我将列的数据类型从 char 更改为varchar2.

因为我面临的问题是当我触发选择查询时,即

select * from table_name where column_name in ('X','Y','Z');

上面的查询只返回几行。最近column_name数据类型从 char 更改为varchar. 返回的行是数据类型更改后的行。

4

1 回答 1

0

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

于 2013-10-15T11:19:49.843 回答