2个连接char列的结果有什么数据类型?

时间:2014-04-21 05:44:15

标签: oracle

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;

1 个答案:

答案 0 :(得分:1)

来自Oracle docs

  

连接两个字符串的结果是另一个字符   串。 如果两个字符串都是数据类型CHAR,则结果为   数据类型CHAR,限制为2000个字符。如果任一字符串的数据类型为VARCHAR2,   结果具有数据类型VARCHAR2,并且限制为4000个字符。如果   无论参数是CLOB,结果都是临时CLOB。尾随   无论如何,字符串中的空格都由串联保留   字符串或CLOB的数据类型。

所以这意味着当你连接两个长度为2000的列然后连接后,它将是一个长度为2000的CHAR类型,其余的将被忽略。