나는 내가 한 실험에 근거하여 대답이 '아니오'라고 생각하고 있습니다. 그러나 내가 제대로하고 있는지 확실하지 않았습니다.Oracle dbms_utilities.get_hash_value는 항상 다른 입력에 대해 고유 한 값을 반환합니까?
내 기능은 다음과 같습니다
select buyer_key, DBMS_UTILITY.get_hash_value(buyer_key||'|'||buyer_entity_id||'|'||buyer_io_id||'|'||buyer_line_item_id||'|'||is_billing_enabled||'|'||currency_id_b_trgt||'|'||currency_id_b_prfrd||'|'||ymdh_max,1,POWER(2,16)-1) as hashvalue from network_buyer_dim order by hashvalue asc;
내가이 중복 hashkey 값으로 여러 행을 반환 실행합니다. 하지만 데이터베이스에 가서 행 (BTW, 각 buyer_key가 고유 한)을 보면 행에 동일한 값이 들어 있지 않음을 알 수 있습니다.
함수를 올바르게 호출하고 있습니까?
문서에서 한 가지 말은 크기에 2의 제곱을 사용하는 것입니다 (2에서 2의 제곱을 사용하고 있음). http://docs.oracle.com/cd/E11882_01/appdev.112/e25788/d_util.htm#autoId33 – Glenn
실제 코드에서 마이너스 1을 사용하기 때문에 필자가 잘못 입력 했어야합니다. –