es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

ADD_MONTHS en PostgreSQL

Tengo un problema para cambiar ADD_MONTHS de Oracle a PostgreSQL.

Tengo una consulta de Oracle como esta:

ADD_MONTHS (to_date(to_char(start_billdate,'DD-MM-YYYY'),'DD-MM-YYYY'), 
           (processed_num*periodvalue)
           )

¿Cómo puedo implementar esa consulta en PostgreSQL?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    En PostgreSQL, puedes utilizar la función DATE_TRUNC para truncar la fecha al mes y luego agregar el número de meses requeridos utilizando la función INTERVAL.

    La consulta equivalente en PostgreSQL se vería así:

    DATE_TRUNC('month', start_billdate)::DATE + (processed_num * periodvalue || ' months')::INTERVAL
    

    Aquí, DATE_TRUNC('month', start_billdate) recorta start_billdate al primer día del mes. Luego, agregamos el número de meses requeridos utilizando el operador || para concatenar el valor entero con la cadena ‘ months’ y lo convertimos al tipo de dato INTERVAL utilizando ::INTERVAL.

    ¡Espero que esto ayude!

Comments are closed.