oracle是否有连接的长度限制
是否有一个长度限制(比如臭名昭著的4000字节)用于与oracle是否有连接的长度限制,oracle,Oracle,是否有一个长度限制(比如臭名昭著的4000字节)用于与 'a' || 'b' || ... 及 谢谢谷歌是你的朋友-用它吧。艺术总是在选择合适的短语进行搜索;也许“Oracle连接运算符”会起作用。您应该看到Oracle文档中对您的问题的说明。简言之: 如果像现在这样连接多个单字符字符串,那么是的,VARCHAR2将达到4000字节的限制 如果要超过该值,必须在to_CLOB()(或以其他方式将其强制转换为CLOB)中至少包含一个单个字符串。那么字节的数量就没有限制了(注意:正如你所说,它不是
'a' || 'b' || ...
及
谢谢谷歌是你的朋友-用它吧。艺术总是在选择合适的短语进行搜索;也许“Oracle连接运算符”会起作用。您应该看到Oracle文档中对您的问题的说明。简言之: 如果像现在这样连接多个单字符字符串,那么是的,
VARCHAR2
将达到4000字节的限制
如果要超过该值,必须在
to_CLOB()
(或以其他方式将其强制转换为CLOB
)中至少包含一个单个字符串。那么字节的数量就没有限制了(注意:正如你所说,它不是字符而是字节——有些人忘记了这一点),但是,当然,结果将是一个CLOB
。有很多事情你可以用VARCHAR2
做,但是你不能用CLOB
做(你不能加入CLOB
值,你不能用CLOB
表达式等进行分组或排序)。谷歌是你的朋友,用它吧。艺术总是在选择合适的短语进行搜索;也许“Oracle连接运算符”会起作用。您应该看到Oracle文档中对您的问题的说明。简言之:
如果像现在这样连接多个单字符字符串,那么是的,VARCHAR2
将达到4000字节的限制
如果要超过该值,必须在
to_CLOB()
(或以其他方式将其强制转换为CLOB
)中至少包含一个单个字符串。那么字节的数量就没有限制了(注意:正如你所说,它不是字符而是字节——有些人忘记了这一点),但是,当然,结果将是一个CLOB
。使用VARCHAR2
可以做很多事情,但是CLOB
做不到(不能加入CLOB
值,不能按CLOB
表达式进行分组或排序,等等)虽然在执行连接的Listag函数的上下文中,可能有重复的人回答了这个问题。@PatrickBacon-答案“在listagg的上下文中”一般不适用于连接。Oracle可以连接CLOB,但Listag无法处理CLOB。@PatrickBacon我知道LISTAGG的限制。这个问题与此无关。我将问题狭义地读了一遍(仅限于varchar2场景)。虽然在执行连接的Listag函数的上下文中,可能有重复的人回答了这个问题。@PatrickBacon-答案“在Listag的上下文中”一般不适用于连接。Oracle可以连接CLOB,但Listag无法处理CLOB。@PatrickBacon我知道LISTAGG的限制。这个问题与此无关。我把问题看得很狭隘(仅限于varchar2场景)。
concat(concat(concat ('a', 'b'), 'c'), ...)