Sql Oracle中的varchar(max)的等价物是什么?
Oracle中的varchar(max)的等价物是什么Sql Oracle中的varchar(max)的等价物是什么?,sql,sql-server,oracle,Sql,Sql Server,Oracle,Oracle中的varchar(max)的等价物是什么 CLOB?在Oracle中,VARCHAR限制为4000个字符。除此之外,您必须使用LONG或CLOB。喜欢CLOBs。long是较老的等价物 发件人: LOB与长线和长线原始数据的比较 LOB与较旧的LOG不同 以及在许多方面使用长原始数据类型 LOB的最大大小为4G字节,而长时间为2G字节 而且是生的 您可以在LOB上使用随机和顺序访问方法;你 只能使用顺序访问方法 长生不老 LOB(nCLOB除外)可以是您选择的对象类型的属性 定义
CLOB?在Oracle中,VARCHAR限制为4000个字符。除此之外,您必须使用LONG或CLOB。喜欢CLOBs。long是较老的等价物 发件人: LOB与长线和长线原始数据的比较 LOB与较旧的LOG不同 以及在许多方面使用长原始数据类型
- LOB的最大大小为4G字节,而长时间为2G字节 而且是生的
- 您可以在LOB上使用随机和顺序访问方法;你 只能使用顺序访问方法 长生不老
- LOB(nCLOB除外)可以是您选择的对象类型的属性 定义
- 表可以有多个LOB列,但只能有一个LONG或LOB列 长原始列
在PL/SQL中,VARCHAR2最多可以有32767个字节。对于SQL,限制为4000字节(如果使用多字节字符集,则可能少于4000个字符)。据我所知,VARCHAR(MAX)数据类型是一种特定于SQL Server 2005的指定文本字段的方法,可以是小的(在SQL Server中最多8000个字符)或大的(在SQL Server中最多2GB)。当内容从小范围增长到大范围时,数据库处理后台存储的变化 甲骨文中没有类似的语言
您要么在VARCHAR2中有少量文本(pl/sql中最多32767字节,sql中最多4000字节)(即在表定义中),要么在CLOB中有可能有大量文本(这是一个专门的BLOB)。。在ORACLE中最接近的是CLOB,它与SQL Server在“糟糕的旧时代”中的文本具有相同的限制 我过去使用过的一种方法(MS SQL,在Varchar(max)之前): 在表中放入两列,一列是较小的Varchar(例如255),另一列是文本。然后构建您的应用程序,以便它将Varchar列用于小数据,而将文本保留为空。如果数据大于Varchar,则保留该空值并将其存储在文本中。这样,小数据就不会占用服务器上自己的页面。这里的折衷是,所有使用数据的应用程序都必须同意此方案,并具有解释此方案的逻辑。但效果很好
我认为在Oracle中也是如此,只是将Varchar2替换为Varchar,将CLOB替换为Text。我并不假装知道varchar的正确大小应该是多少——这取决于数据,也取决于表中的其余列。在Oracle中,在11g-r2之前没有类似的列。
如果需要,请迁移到另一个支持它的DMM。Oracle 11g网关将Varchar(Max)转换为LONG 这不是很方便,而且会给我们将SQL Server数据加载到Oracle中带来重大问题 有关详细信息,请参阅以下url:-
告诉我varchar(max)的意思,我会给你Oracle的等价物。我怀疑它是CLOB。VARCHAR(MAX)是一个可变长度的字符字段,可以(我认为)2GB。与TEXT(与CLOB相同)不同,VARCHAR函数在其上工作?在甲骨文?啊,可能是同义词。使用CLOB,不要使用CLOBTEXT@Mark--对不起,SQL Server中的文本与Oracle中的CLOB是一样的。long和CLOB是邪恶的。大多数varchar函数都不能与它们一起工作,也不一定要与它们一起工作。是的,但如果您希望Oracle的字符数超过4000个,则没有太多选择。在更高版本中,更多的varchar函数(如substr)可以与CLOB一起工作。当然不是全部,但通常使用MB长度的字符串与使用几十个字符的字符串做不同的事情。通常可以使用DBMS_LOB中的函数来做您想做的事情。考虑到我们现在拥有的硬件种类,我同意4k对于varchar2来说太短了。确切地说,VARCHAR限制为4000字节,不超过4000个字符,但在存储多字节字符数据时可能会更少。请看,VARCHAR(MAX)列的情况并非如此。@Dave--我认为igor的回答是针对Oracle的。您不能像VARCHAR(MAX)那样使用文本执行大多数字符串操作功能,例如查找字符串中的单个字符、模式匹配等。。当您不能使用varchar(max)或nvarchar(max)时,我认为在SQL Server中有两个列的更干净的解决方案是使用“行中的文本”表选项。可以为可存储在数据行中的文本、ntext和图像字符串的长度指定最大限制(从24字节到7000字节)。请参阅sp_表选项的帮助。e、 g.EXEC sp_table选项N'MyTable','text in row','1000'