python - 如何在 PostgreSQL 中将整数解压缩为 float ?

标签 python sql postgresql pack

我正在使用 Python 的 struct.pack 函数将各种数据类型打包到 PostgreSQL 中的一个通用 32 位整数字段中。缺点是我无法在数据库中使用这些值,我必须在 Python 中对数据执行 struct.unpack 才能知道它代表什么。

如果我将一个 32 位 float 打包到这个字段中,有没有办法让 PostgreSQL 为我进行转换?

我试过了,但没用:

select cast(cast(value as bit(32)) as float4) ...

它将成功地将整数转换为位 (32),但不会将其转换回 float 。

最佳答案

您可能不需要的答案是:不要那样做。

这违反了基本原则:数据库中的值应该是原子的,不能分割成其他值。数据库的所有操作(我是否提到过所有)都调整为处理单个值。您在这里“与框架作斗争”。

即使你能成功,也会拖累性能。此外,数据库不可报告,不仅仅是您现在遇到这个问题,无论出于何种原因,每次尝试读取此数据都会遇到此问题。

嗯,我不想大声疾呼,'nuf 说。

关于python - 如何在 PostgreSQL 中将整数解压缩为 float ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4891634/

相关文章:

php - 当我已经计算了总行数时,如何计算 mysql 中分组的行数

postgresql - 如果在高负载场景下使用 HDFS 作为文件系统部署 PostgreSQL 会怎样?

node.js - Sequelize 对象不是一个函数

python - 如何在centos pyvenv中安装python3.4 psycopg2

python - 在 Python 中进行线程处理时出现 AssertionError

python:错误:当尝试在 SimpleLazyObject 处迭代 django 请求对象时,字典在迭代期间更改了大小

python - Tkinter:只允许一个 Toplevel 窗口实例

sql - bigquery 按最接近的前一个值左连接

sql - 什么是编写 Oracle SQL 的优质开发环境?

Python在3D散点图中用线连接相邻点