ora-24805:lob类型不匹配

dz6r00yl  于 2021-08-13  发布在  Java
关注(0)|答案(2)|浏览(230)

有table吗 A(text_1 varchar2(4000 CHAR), text_2 varchar(4000 CHAR)) 以下是选择:

SELECT sys.dbms_crypto.hash(empty_clob() || text_1 || text_2, 2)  from A;

我得到错误24805。我在等演员 text_1 以及 text_2CLOB ,并相互连接。在那之后,我需要使用下面的函数获得hash\u代码。这段代码也将是pl/sql块的一部分(函数中insert语句的一部分)。如果我用这个:

SELECT sys.dbms_crypto.hash(to_clob('') || text_1 || text_2, 2)  from A;

现在一切都好了。那么,问题出在哪里?

create table A(text_1 varchar2(4000 CHAR), text_2 varchar2(4000 CHAR));
 insert into A(text_1,text_2)values ('test1','test2');
 commit;

下面是一个为a创建数据的示例。

k4aesqcs

k4aesqcs1#

您可以使用tou clob来连接基于字符的列。然后使用concat,它似乎可以与clob一起工作。试试下面。

SELECT DBMS_CRYPTO.HASH(CONCAT(TO_CLOB (TEXT_1) , TO_CLOB (TEXT_2)), 2)  FROM A;
xxslljrj

xxslljrj2#

请尝试下面的查询,

SELECT sys.dbms_crypto.hash(to_clob(text_1 || text_2), 2)  from A;

相关问题