PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL - Assegna un valore intero alla stringa nell'istruzione case

Questo produrrà un numero "unico" per ogni valore:

('x'||substr(md5("PQ"."Value"),1,8))::bit(64)::bigint

A rigor di termini, c'è la possibilità di una collisione, ma è molto remota.

Se il risultato è "troppo grande", puoi provare modulus:

<above-calculation> % 10000

Anche se le collisioni avrebbero quindi una probabilità dello 0,01%, dovresti provare questa formula con tutti i valori noti per assicurarti che non ci siano collisioni.