PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

PostgreSQL - Attribuer une valeur entière à la chaîne dans l'instruction case

Cela produira un numéro "unique" pour chaque valeur :

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

Strictement parlant, il y a un risque de collision, mais c'est très rare.

Si le résultat est "trop ​​grand", vous pouvez essayer modulus :

<above-calculation> % 10000

Bien que les collisions aient alors 0,01 % de chance, vous devriez essayer cette formule avec toutes les valeurs connues pour vous assurer qu'il n'y a pas de collisions.