ORA_HASHは、式のハッシュ値を生成します。分析用に複数のバケットに値セットをランダムに割り当てる場合や、ランダムな数値セットを生成する場合に使用できます。
戻り値
NUMBER
構文
ORA_HASH (expr [, max_bucket [, seed_value ] ])
引数
expr: ハッシュ値を生成するためのデータを提供する任意の式です。
max_bucket: 最大バケット数です。たとえば、max_bucketが5に設定されている場合は、6つのバケットが作成され、0から5の値が返されます。この値は、0から4294967295または2^32-1 (デフォルト)に設定してください。
seed_value: ハッシュ値を生成するためにORA_HASHによって使用される値です。異なるseed_valueを入力すると、異なる結果を得られます。この値は、0 (デフォルト)から4294967295または2^32-1に設定してください。
例
ORA_HASH(PRODUCT_CUBE.PRICES, 5)は、ハッシュ5の列に示されているように、価格メジャーの各値に対して0から5の範囲の値を返します。ハッシュ5の列では、行のソートも行われています。
ORA_HASH(PRODUCT_CUBE.PRICES, 5, 13)でも0から5の範囲の値が返されますが、異なるシードが使用されています。
| 製品 | 価格 | ハッシュ5 | シード13 |
|---|---|---|---|
| ENVY STD | 200539.83 | 0 | 4 |
| ENVY EXE | 255029.31 | 0 | 5 |
| 1GB USB DRV | 44645.65 | 1 | 2 |
| DLX MOUSE | 1379.49 | 2 | 2 |
| 144MB DISK | 3011.43 | 2 | 5 |
| 512 USB DRV | 22139.99 | 2 | 2 |
| 19 SVGA | 34837.16 | 3 | 0 |
| 56KPS MODEM | 12478 | 3 | 2 |
| ENVY EXT KBD | 4312.22 | 3 | 5 |
| 17 SVGA | 22605.55 | 4 | 1 |
| EXT CD ROM | 17990.14 | 4 | 0 |
| ENVY ABM | 205462.25 | 5 | 1 |