ORA_HASH
函数获取对应表达式的 HASH 值。
语法
ORA_HASH(expr [, max_bucket [, seed_value ] ])
参数
参数 | 说明 |
---|---|
expr | 通常为数据库表的列名,数据类型可以是数值类型、字符类型、日期时间类型 或 |
max_bucket | 可选的 |
seed_value | 可选的 |
返回类型
NUMBER
类型数据。
示例
创建表SALE,并向里面插入数据。执行以下语句:
CREATE TABLE SALE(MONTH CHAR(6), SELL NUMBER(10,2));INSERT INTO SALE VALUES(200001, 1000);INSERT INTO SALE VALUES(200002, 1100);INSERT INTO SALE VALUES(200003, 1200);INSERT INTO SALE VALUES(200004, 1300);INSERT INTO SALE VALUES(200005, 1400);INSERT INTO SALE VALUES(200006, 1500);INSERT INTO SALE VALUES(200007, 1600);INSERT INTO SALE VALUES(200101, 1100);INSERT INTO SALE VALUES(200202, 1200);INSERT INTO SALE VALUES(200301, 1300);
使用ORA_HASH
函数查询SALE表,并执行以下语句:
SELECT ORA_HASH(CONCAT(month,sell),12,0), month, sell FROM Sale;
查询结果如下:
+-----------------------------------+--------+------+| ORA_HASH(CONCAT(MONTH,SELL),12,0) | MONTH | SELL |+-----------------------------------+--------+------+| 1 | 200001 | 1000 || 6 | 200002 | 1100 || 5 | 200003 | 1200 || 4 | 200004 | 1300 || 5 | 200005 | 1400 || 2 | 200006 | 1500 || 7 | 200007 | 1600 || 10 | 200101 | 1100 || 7 | 200202 | 1200 || 4 | 200301 | 1300 |+-----------------------------------+--------+------+