`ORA_HASH`

generates hash values for an expression. You can use it to randomly assign a set of values into several buckets for analysis, or to generate a set of random numbers.

NUMBER

```
ORA_HASH (expr [, max_bucket [, seed_value ] ])
```

`expr`

can be any expression that provides the data for generating the hash values.

`max_bucket`

is the maximum bucket number. For example, when `max_bucket`

is set to 5, ORA_HASH returns values of 0 to 5, creating six buckets. Set this value from 0 to 4294967295 or 2^32-1 (default).

`seed_value`

is a value used by `ORA_HASH`

to generate the hash values. Enter a different `seed_value`

for different results. Set this value from 0 (default) to 4294967295 or 2^32-1.

`ORA_HASH(PRODUCT_CUBE.PRICES, 5)`

returns a value in the range of 0 to 5 for each value of the Prices measure, as shown in the Hash 5 column. The rows are also sorted on the Hash 5 column.

`ORA_HASH(PRODUCT_CUBE.PRICES, 5, 13)`

also returns values in the range of 0 to 5, but uses a different seed.

Product | Prices | Hash 5 | Seed 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 |