在SELECT查询中显示CLOB数据会被截断吗?如果是这样,它怎么显示?

时间:2010-07-01 06:02:28

标签: asp.net oracle clob

我的表中有一个Varchar2字段,我想将其转换为CLOB。我不确定选中时数据是否会被截断。如果是,那么限制是什么,它取决于数据库设置?

在我的TOAD或SQLPLUS窗口中,它会被截断,但这可能只是环境设置。我不确定它是否会在我的实际应用中被截断(我可以测试一下,但我应该测试多大的尺寸?)

如果它被截断,显示整个CLOB的最佳方法是什么?我的SELECT查询中还有其他字段,所以我想我不能只循环遍历多行。有什么出路吗?

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

在10gR2中,CLOB可以保存“(4千兆字节-1)*(数据库块大小)”,数据库块大小通常为8k。

因此,理论上CLOB可以是数TB的数据,这将超出大多数机器的处理范围。

所以“我应该测试什么尺寸”的答案是你决定的大小。我的数量级大于我期望处理的限制,因此,如果我期望5 MB的值,我将测试50 MB。 50MB对于文本来说会非常大(尽管如果它是某种日志文件可能是合适的)。

答案 1 :(得分:2)

如果从表中选择clob值,则取决于应用程序如何处理它。如果将varchar2列更改为clob列,则需要更改应用程序,以便从数据库中正确检索clob数据。 所以我猜答案是:有可能让它正常工作。