Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako dodati 1 sat na CURRENT_TIME?

[es] :: Firebird/Interbase :: Kako dodati 1 sat na CURRENT_TIME?

[ Pregleda: 3226 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

viking13
Aleksandar Milanovic
SBB
Novi Beograd

Član broj: 131741
Poruke: 190
*.sbb.co.yu.



Profil

icon Kako dodati 1 sat na CURRENT_TIME?31.01.2007. u 18:16 - pre 176 meseci
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.
viking ®
 
Odgovor na temu

delalt

Član broj: 68360
Poruke: 198
*.teol.net.



Profil

icon Re: Kako dodati 1 sat na CURRENT_TIME?31.01.2007. u 20:42 - pre 176 meseci
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.
 
Odgovor na temu

viking13
Aleksandar Milanovic
SBB
Novi Beograd

Član broj: 131741
Poruke: 190
*.dynamic.sbb.co.yu.



Profil

icon Re: Kako dodati 1 sat na CURRENT_TIME?02.02.2007. u 23:17 - pre 176 meseci
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?
viking ®
 
Odgovor na temu

[es] :: Firebird/Interbase :: Kako dodati 1 sat na CURRENT_TIME?

[ Pregleda: 3226 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.