Subject AW: [firebird-support] Re: Array datatype?
Author Check_Mail

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.