説明
この関数は、対応する式のハッシュ値を計算します。
構文
ORA_HASH(expr [, max_bucket [, seed_value ]])
パラメータの説明
| パラメータ | 説明 |
|---|---|
| expr | 通常はデータベーステーブルの列名であり、データ型は数値型、文字型、日付時刻型、またはRAW型にすることができます。 |
| max_bucket | ハッシュ関数が返す最大バケット値を指定します。オプションです。値の範囲は[0, 4294967295]で、デフォルト値は4294967295です。 |
| seed_value | データベースが同一データセットに対して異なる結果を生成できるようにします。オプションです。値の範囲は[0, 4294967295]で、デフォルト値は0です。 |
戻り値の型
NUMBER 型のデータ値を返します。
例
テーブル tbl1 を作成し、データを挿入します。ORA_HASH 関数を使用して、テーブル tbl1 の col1 列のハッシュ値を照会し、ハッシュ値を最大 10 バケットに分割し、3 番目のパラメータを 5 に設定します。
obclient> CREATE TABLE tbl1(col1 CHAR(6),col2 NUMBER(10,2));
Query OK, 0 rows affected
obclient> INSERT INTO tbl1 VALUES('ABC', 1000),('DEF', 1100),('GHI', 1200),('JKL', 1300),
('MNO', 1400),('PQR', 1500),('STU', 1600),('VWX', 1700),('YZ1', 1800),('234', 1900);
Query OK, 10 rows affected
Records: 10 Duplicates: 0 Warnings: 0
obclient> SELECT ORA_HASH(col1,10,5),col1,col2 FROM tbl1;
+---------------------+--------+------+
| ORA_HASH(COL1,10,5) | COL1 | COL2 |
+---------------------+--------+------+
| 5 | ABC | 1000 |
| 3 | DEF | 1100 |
| 8 | GHI | 1200 |
| 3 | JKL | 1300 |
| 3 | MNO | 1400 |
| 1 | PQR | 1500 |
| 4 | STU | 1600 |
| 2 | VWX | 1700 |
| 10 | YZ1 | 1800 |
| 5 | 234 | 1900 |
+---------------------+--------+------+
10 rows in set