Nikolay пишет:
"RUST" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]
Nikolay пишет:
Что-то я наверное пропустил, но как получить из '28.04.2008
01:01'-'27.04.2008 00:00' просто время '25:01' ?
Все в хранимой процедуре на 2.0.3 птице.
примерно так?
select ((cast('28-APR-2008 01:01' as timestamp))-(cast('27-APR-2008 00:00'
as timestamp)))*24.000
from rdb$database
в принципе подходит, но тут сталкиваюсь с проблемой:
if (datetime_real_begin<datetime_real_end) then begin
time_real_work = тут твой пример
select extract(hour from :time_real_work) from rdb$database into
:hour2;
select extract(minute from :time_real_work) from rdb$database into
:min2;
select extract(second from :time_real_work) from rdb$database into
:sec2;
time_real_work_sec = sec2 + (Min2*60) + (Hour2*3600);
time_real_work_hour = Hour2;
end
и вот на преобразовании типов я и влетаю.
Как его правильно оформить?
ты учти что мой пример всего-то возвращает часовую разницу в датах
причем дробная часть не соответствует минутам, поэтому extract
из этого числа не имеет смысла. тебе нужно разбираться с суточной
разницей, те убрать "*24.000"
Целая часть числа это будут сутки. Дробная - часть суток
например
select ((cast('28-APR-2008 7:50' as timestamp))-(cast('27-APR-2008
00:00' as timestamp)))
from rdb$database
---> 1.3263888888889
1- сутки
0.3263888888889*24=7.8333333333336
7 часов
0.8333333333336*60=50.000000000016
50 минут