有一个带有字段的表 (str1 VARCHAR2(4000 CHAR),str2 VARCHAR2(4000 CHAR))
有一个带有字段的表b (str1 VARCHAR2(4000 CHAR),str2 VARCHAR2(4000 CHAR),hash_code NUMBER)
```
begin
insert into B(str1,str2,hash_code)
select str1, str2, standart_hash(str1 ||str2,'MD5') as hash_code from A;
commit;
end;
因此,当 `length(str1||str2)` 大于4000(varchar2太小)。
我怎么能把它换成其他类型的呢 `clob` 在这样的环境下? `to_clob(str1 || str2)` 不起作用。
以及 `standart_hash` 不适用于 `clob,long,raw` .
在解决铸造问题后,我可以用什么来解决这个问题?
1条答案
按热度按时间v6ylcynt1#
varchar2数据类型在pl/sql中的最大长度实际上是32k,标准的\u散列对输入的大小没有限制。另请注意,标准\u hash返回原始数据类型,而不是数字,因为您在示例中定义了hash \u code列。
如您所见,我可以毫无问题地运行您的示例。