Subject | AW: [firebird-support] Re: Array datatype? |
---|---|
Author | Check_Mail |
Post date | 2019-08-30T06:18:45Z |
Hello Vlad,
thank you, I will revise my concept.
Von: firebird-support@yahoogroups.com <firebird-support@yahoogroups.com>
Gesendet: Donnerstag, 29. August 2019 09:26
An: firebird-support@yahoogroups.com
Betreff: [firebird-support] Re: Array datatype?
Use CASE:
azeit = azeit +
CASE EXTRACT(WEEKDAY FROM :akttag)
WHEN 0 THEN F0
WHEN 1 THEN F1
...
WHEN 6 THEN F6
END;
Regards,
Vlad
PS procedure contains logical errors, hope it is just a quick sample
---In firebird-support@yahoogroups.com, <check_mail@...> wrote :
In my case, I would like to do this:
create procedure P_ARBZEIT(
beginn date,
ende date,
f1 float,
f2 float,
f3 float,
f4 float,
f5 float,
f6 float,
f0 float)
returns (
azeit double precision)
as
declare variable wt integer;
declare variable akttag date;
begin
azeit = 0;
akttag = beginn;
while (akttag = ende or beginn > ende) do
begin
wt = extract(weekday from :akttag);
azeit = azeit + cast('f'||wt as char(2));
akttag = akttag + 1;
end
suspend;
end
f1 = Monday, f2 = Tuesday.. f0 = Sunday.
I get the day from date with weekday and I would add the value from the day to the azeit. Take the value from the variable f0 when it is Sunday.