[ viking13 @ 31.01.2007. 18:16 ] @
Treba da napravim upit koji vraća sve što ima start_time u narednih sat vremena.

Moj problem je kako da na current_time dodam 1 sat.

Smešno? Znam.
[ delalt @ 31.01.2007. 20:42 ] @
Dodaš 1 sat pretvoren u sekunde, ali kao numeric a nikako kao integer.
Znači: CURRENT_TIME + (1.0 * 60.0 * 60.0) i opet dobiješ kao TIME.
Možda ćeš morati koristiti i CAST...
I još jedna važna stvar, moraš kontrolisati kako to da radi kad bude
CURRENT_TIME veće ili jednako '23:00:00' (dodavanjem jednog sata prelaziš
u novi dan pa vrijeme kreće od '00:00:00'), ako će se ovo uopšte dešavati u radu.
[ viking13 @ 02.02.2007. 23:17 ] @
Citat:
delalt: Dodaš 1 sat pretvoren u sekunde, ali kao numeric a nikako kao integer.
Znači: CURRENT_TIME + (1.0 * 60.0 * 60.0) i opet dobiješ kao TIME.
Možda ćeš morati koristiti i CAST...
I još jedna važna stvar, moraš kontrolisati kako to da radi kad bude
CURRENT_TIME veće ili jednako '23:00:00' (dodavanjem jednog sata prelaziš
u novi dan pa vrijeme kreće od '00:00:00'), ako će se ovo uopšte dešavati u radu.


Da se nadovežem na ovaj tvoj odgovr sad kad sam skapirao foru. :)

Ako probaš da sabereš bilo koje dve TIME vrednosti pojaviće se greška.

Ali zato ovo radi bez greške i ne treba cast.

CREATE PROCEDURE TIMESUM(
FIRST_TIME TIME,
SECOND_TIME TIME)
RETURNS(
RESULT_TIME TIME)
AS
BEGIN
RESULT_TIME = :FIRST_TIME +
EXTRACT(HOUR FROM :SECOND_TIME) * 3600 +
EXTRACT(MINUTE FROM :SECOND_TIME) * 60 +
EXTRACT(SECOND FROM :SECOND_TIME);
SUSPEND;
END

Da šutnem ovo i u korisne procedure?