【发布时间】:2012-06-17 23:00:10
【问题描述】:
我在 Oracle 11g 中有一个 NCLOB 数据库类型的列。我需要为其内容获取哈希值。如何使用任何内置的 Oracle 函数或在 Oracle 的 PL/SQL SP 中执行此操作?
【问题讨论】:
-
参见 dbms_crypto.hash docs.oracle.com/cd/E11882_01/appdev.112/e25788/…。我没有看到采用 NCLOB 的版本,我不知道
src IN CLOB CHARACTER SET ANY_CS是否可以在所有情况下都无损失地采用 NCLOB。有待调查。 -
这个问题不是完全重复的。散列 NCLOB 或 VARCHAR2 之间存在一些细微但显着的差异。具体来说,如果您使用 ORA_HASH,对 NCLOB 进行散列处理可能不是确定性的,因此另一个问题的其中一个答案可能不合适。有关确定性哈希的信息,请在此处查看我的答案:stackoverflow.com/a/9476696/409172