Oracle文档说2个连接字段返回char类型,但char类型最大长度是2000个字节。
在我的例子中,两列有一个char类型,每列的长度为2000字节。
示例:
create table temp(
column_1 char(2000),
column_2 char(2000)
);
select column_1 || column_2 from temp;
答案 0 :(得分:1)
来自Oracle docs:
连接两个字符串的结果是另一个字符 串。 如果两个字符串都是数据类型CHAR,则结果为 数据类型CHAR,限制为2000个字符。如果任一字符串的数据类型为VARCHAR2, 结果具有数据类型VARCHAR2,并且限制为4000个字符。如果 无论参数是CLOB,结果都是临时CLOB。尾随 无论如何,字符串中的空格都由串联保留 字符串或CLOB的数据类型。
所以这意味着当你连接两个长度为2000的列然后连接后,它将是一个长度为2000的CHAR类型,其余的将被忽略。