Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

350
Views
Postgres que convierte doble precisión doble en texto crea '1.50000000000'

Trabajando con postgres y necesito convertir el total de minutos al formato de 1h 1m.

Estoy haciendo esto a través del siguiente código

 replace( (119 / 60 + (119 % 60) / 100.0)::text, '.', 'h ' ) + 'm'

que devuelve 1h 59000000000000000000m

119 es solo una cantidad de minutos de ejemplo que he agregado, pero esto se establecería en una consulta más grande que haría

 (accumulated_minutes / 60 + (accumulated_minutes % 60) / 100.0)::text,

¿Hay alguna manera de convertir esto en texto sin agregar la precisión adicional?

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

¡Deje que la base de datos haga el trabajo pesado por usted! Puede convertir la cantidad de minutos en un tipo de datos de interval y usar to_char() para formatear:

 to_char(make_interval(mins => accumulated_minutes), 'hh24"h" mi"m"')

Demostración en DB Fiddle :

 select to_char(make_interval(mins => 119), 'hh24"h" mi"m"') val
| valor |
| :------ |
| 01h 59m |

Si desea suprimir los 0 iniciales en horas y minutos, entonces:

 to_char(make_interval(mins => accumulated_minutes), 'fmhh24"h" fmmi"m"') val
over 4 years ago · Santiago Trujillo Report

0

Puede intentar primero convertir el cociente o el módulo en un número entero, luego convertirlo en texto después de eso, por ejemplo

 SELECT (119 / 60)::int::text || 'h ' || (119 % 60)::int::text || 'm';

Esto genera 1h 59m .

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!