como se suman dos tipos date???

ega
19 de Noviembre del 2004
Alguien me podría decir cómo se suman dos campos de tipo date?? He probado con + pero no funciona. No he encontrado ninguna función que me permita hacerlo.
Lo que quiero hacer es sumarle un campo de tipo date llamado duracion a un campo de tipo date llamado h_ini (hora de inicio), para que me de la hora de finalización (h_fin).

Muchas gracias de antemano.

abouza
19 de Noviembre del 2004
Hola, en oracle la fecha se guarda internamente como un numero en el que la parte entera son lo dias en Juliano; y la hora, minutos y segundos es la parte decimal.

Lo que tienes que hacer es sumar a la fecha inicial lo que quieres expresado en formato decimal.

En tu caso, variables h_ini, h_fin y supongamos h_cal la que va ha guardar el resultado.

DECLARE
vHora NUMBER(2);
vMin NUMBER(2);
BEGIN
vHora := TO_NUMBER(TO_CHAR(h_fin, 'HH24'));
vMin := TO_NUMBER(TO_CHAR(h_fin, 'MI'));

h_cal := h_ini + ((vHora + (vMin / 60)) / 24);
END;

Ten cuidado con los parentesis.

saludo

pepillo grillo
19 de Noviembre del 2004
parece mentira que no sepas...: mira cojes a tu novia, me la dejas desnuda, solo con unas braguitas pequeñas y rojas, y yo la pongo a 4 patas, y le doy 25 folladitas bien dadas, despues que se de la vuelta y me haga una mamadita tragandose toa la lefa y justo entonces aparecera ante tus ojos la respuesta.

pitmarquez
19 de Noviembre del 2004
ega:

no se si esto te sirve... de la documentacion del estandar SQL de Oracle 81.7:

"Date Arithmetic
You can add and subtract number constants as well as other dates from dates.
Oracle interprets number constants in arithmetic date expressions as numbers of
days. For example, SYSDATE + 1 is tomorrow. SYSDATE - 7 is one week ago.
SYSDATE + (10/1440) is ten minutes from now. Subtracting the hiredate column
of the emp table from SYSDATE returns the number of days since each employee
was hired. You cannot multiply or divide DATE values.
Oracle provides functions for many common date operations. For example, the
ADD_MONTHS function lets you add or subtract months from a date. The MONTHS_
BETWEEN function returns the number of months between two dates. The fractional
portion of the result represents that portion of a 31-day month.
Because each date contains a time component, most results of date operations
include a fraction. This fraction means a portion of one day. For example, 1.5 days is
36 hours."