J'utilise la fonction struct.pack
de Python pour empaqueter différents types de données dans un champ entier commun de 32 bits dans PostgreSQL. L'inconvénient est que je ne peux pas fonctionner avec ces valeurs dans la base de données, je dois effectuer un struct.unpack
en Python sur les données pour savoir ce qu'il représente.Comment décompresser un entier dans un float dans PostgreSQL?
Si j'emballe un flottant de 32 bits dans ce champ, est-il possible de faire en sorte que PostgreSQL fasse la conversion pour moi?
J'ai essayé, mais cela n'a pas fonctionné:
select cast(cast(value as bit(32)) as float4) ...
Il chassera avec succès l'entier de bits (32), mais il ne sera pas le convertissez à nouveau à un flotteur.