如何在 PostgreSQL 中将小时数转换为数字

How to convert Hours to Numeric in PostgreSQL

我在 postgreSQL 中有一个 table,它有一个小时列,我需要将该列转换为数字列,比如如果我有 1 小时和 30 分钟,我需要将其显示为 1.5

我尝试使用 convert 和 cast 但没有用。

有办法吗?

列的实际数据类型是TIME

实际结果是这样的:

501001  "DEMANDA"   2019    "Ciclo 10"  "01:30:00"
501001  "DEMANDA"   2019    "Ciclo 11"  "01:30:00"
501001  "DEMANDA"   2019    "Ciclo 12"  "00:30:00"
501001  "DEMANDA"   2019    "Ciclo 2"   "00:30:00"
501001  "DEMANDA"   2019    "Ciclo 3"   "00:30:00"
501001  "DEMANDA"   2019    "Ciclo 4"   "02:00:00"
501001  "DEMANDA"   2019    "Ciclo 5"   "08:00:00"
501001  "DEMANDA"   2019    "Ciclo 6"   "07:00:00"
501001  "DEMANDA"   2019    "Ciclo 7"   "23:00:00"

我需要这样展示:

501001  "DEMANDA"   2019    "Ciclo 10"  "1.5"
501001  "DEMANDA"   2019    "Ciclo 11"  "1.5"
501001  "DEMANDA"   2019    "Ciclo 12"  "0.5"
501001  "DEMANDA"   2019    "Ciclo 2"   "0.5"
501001  "DEMANDA"   2019    "Ciclo 3"   "0.5"
501001  "DEMANDA"   2019    "Ciclo 4"   "2.0"
501001  "DEMANDA"   2019    "Ciclo 5"   "8.0"
501001  "DEMANDA"   2019    "Ciclo 6"   "7.0"
501001  "DEMANDA"   2019    "Ciclo 7"   "23.0"

你可以这样做:

extract(epoch from mycol) / 60 / 60

这会将 time 转换为秒数,然后转换为相应的小时数。