任何人都可以告诉我,将列的数据类型从char更改为varchar2
会有什么影响。
因为我面临的问题是当我触发选择查询时,即
select * from table_name where column_name in ('X','Y','Z');
上面的查询只返回几行。最近,column_name
数据类型已从char更改为varchar
。返回的行是数据类型更改后的行。
答案 0 :(得分: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