ORACLE计算HASH值
oracle计算hash值
1、dbms_utility.get_hash_value(
name VARCHAR2,
base NUMBER,
hash_size NUMBER
)
函数说明
name:输入值
base:返回hash value的起始值(hash bucket最小值)
hash_size:返回hash表的期望大小(hash bucket最大值)
这个函数用于计算并返回落在给定范围内的hash值
2、ora_hash(
expr VARCHAR2,
max_bucket NUMBER,
seed_value NUMBER
)
函数说明
expr:输入值
max_bucket:函数返回的最大值(范围是0到4294967295)
seed_value:随机数(默认为0),可以对同一个输入值返回不同的结果
这个函数用于计算带随机数的hash值
3、例子
1)ora_hash和dbms_utility.get_hash_value返回值不同
select ora_hash(‘CHL20190710T25180748988’, 99999) as “hash1”, dbms_utility.get_hash_value(‘CHL20190710T25180748988’, 0, 99999) as “hash2” from dual;
hash1 hash2
78481 15674
2)seed_value不同,ora_hash返回值也不同
select ora_hash(‘CHL20190710T25180748988’, 99999, 0) from dual;
结果:78481
select ora_hash(‘CHL20190710T25180748988’, 99999, 1) from dual;
结果:57583
select ora_hash(‘CHL20190710T25180748988’, 99999, 2) from dual;
结果:97214
参考资料:
https://docs.oracle.com/cd/E11882_01/server.112/e41084/functions124.htm#SQLRF06313
https://docs.oracle.com/cd/E11882_01/appdev.112/e40758/d_util.htm#ARPLS73195
https://blog.csdn.net/zutsoft/article/details/44203027
http://www.live-in.org/archives/2949.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?