Saltar al contenido

Oracle: ¿cómo agregar minutos a una marca de tiempo?

Si encuentras alguna incompatibilidad con tu código o proyecto, recuerda probar siempre en un entorno de testing antes subir el código al proyecto final.

Solución:

Además de poder agregar una cantidad de días a una fecha, puede usar tipos de datos de intervalo asumiendo que está en Oracle 9i o posterior, que puede ser algo más fácil de leer,

SQL> ed
Wrote file afiedt.buf
SELECT sysdate, sysdate + interval '30' minute FROM dual
SQL> /

SYSDATE              SYSDATE+INTERVAL'30'
-------------------- --------------------
02-NOV-2008 16:21:40 02-NOV-2008 16:51:40

Todas las otras respuestas son básicamente correctas, pero no creo que nadie haya respondido directamente a su pregunta original.

Suponiendo que “date_and_time” en su ejemplo es una columna con tipo DATE o TIMESTAMP, creo que solo necesita cambiar esto:

to_char(date_and_time + (.000694 * 31))

a esto:

to_char(date_and_time + (.000694 * 31), 'DD-MON-YYYY HH24:MI')

Parece que su formato de fecha predeterminado usa el código “HH” para la hora, no “HH24”.

Además, creo que su término constante es confuso e impreciso. Supongo que lo que hiciste es calcular que (.000694) es aproximadamente el valor de un minuto, y lo estás multiplicando por la cantidad de minutos que quieres agregar (31 en el ejemplo, aunque dijiste 30 en el texto).

También comenzaría con un día y lo dividiría en las unidades que desee dentro de su código. En este caso, (1/48) serían 30 minutos; o si quisiera dividirlo para mayor claridad, podría escribir ( (1/24) * (1/2) ).

Esto evitaría errores de redondeo (excepto los inherentes al punto flotante que no deberían tener sentido aquí) y es más claro, al menos para mí.

UPDATE "TABLE" 
SET DATE_FIELD = CURRENT_TIMESTAMP + interval '48' minute 
WHERE (...)

Dónde interval es uno de

  • AÑO
  • MES
  • DÍA
  • HORA
  • MINUTO
  • SEGUNDO

Puntuaciones y comentarios

Si estás de acuerdo, tienes la libertad de dejar una crónica acerca de qué te ha gustado de esta crónica.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *