Esto producirá un número "único" para cada valor:
('x'||substr(md5("PQ"."Value"),1,8))::bit(64)::bigint
Estrictamente hablando, existe la posibilidad de una colisión, pero es muy remota.
Si el resultado es "demasiado grande", puede probar el módulo:
<above-calculation> % 10000
Aunque las colisiones tendrían entonces una probabilidad del 0,01 %, debe probar esta fórmula con todos los valores conocidos para asegurarse de que no haya colisiones.