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

310
Views
PGSql: finalización de un bucle de cursor cuando la salida alcanza el valor

Vengo de un entorno de SQL Server, por lo que la sintaxis de PG es extraña para mí. Honestamente, tampoco estoy seguro de saber cómo hacer esto en TSQL...

Tenemos una tabla que tiene 3 columnas relevantes: StartTime, EndTime y Duration. StartTime representa el tiempo en el que las citas pueden comenzar a realizarse, EndTime es cuando ya no están disponibles y Duration es la duración de cada cita en minutos. Entonces, si StartTime = 0900, EndTime = 1200 y Duration = 30, tendría disponibilidad de citas a las 0900, 0930, 1000, y así sucesivamente hasta las 1200.

Estamos tratando de mostrar cada 'espacio para citas' como filas individuales. Mi idea sería usar algo como DATEADD (o el tiempo y los intervalos en PG) para agregar la duración a StartTime, luego a cada salida hasta que la salida alcance EndTime ... ¿es eso posible? A continuación se muestra el código de muestra para obtener el primer 'espacio para citas'

 SELECT STARTTIME + (duration * interval '1 minute') FROM RULEdetails as rd INNER JOIN ruledates as DT ON DT.ruledetail_id = RD.ruledetail_id ORDER BY RULE_DATE, STARTTIME

¡Cualquier aporte es muy apreciado! ¡Gracias!

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Si la tabla se llama available y la hora de starttime y la hora de endtime son del tipo timestamp with time zone o timestamp without time zone , podría consultar de esta manera:

 SELECT app.appstart FROM (SELECT starttime, endtime, duration * INTERVAL '1 minute' AS dur FROM available ) a JOIN LATERAL generate_series(a.starttime, a.endtime - a.dur, a.dur) app(appstart) ON TRUE;
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!