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.
 




    • AW:... 'Check_Mail' check_m...@satron.de [firebird-support]
      • ... 'Check_Mail' check_m...@satron.de [firebird-support]
      • ... Dimitry Sibiryakov s...@ibphoenix.com [firebird-support]
        • ... 'Check_Mail' check_m...@satron.de [firebird-support]
          • ... Kjell Rilbe kjell.ri...@marknadsinformation.se [firebird-support]
            • ... 'Check_Mail' check_m...@satron.de [firebird-support]
              • ... 'Alan McDonald' a...@meta.com.au [firebird-support]
              • ... 'Check_Mail' check_m...@satron.de [firebird-support]
              • ... 'Alan McDonald' a...@meta.com.au [firebird-support]
              • ... 'Check_Mail' check_m...@satron.de [firebird-support]
    • [fi... hv...@users.sourceforge.net [firebird-support]
      • ... 'Check_Mail' check_m...@satron.de [firebird-support]
  • Re: [fir... Dimitry Sibiryakov s...@ibphoenix.com [firebird-support]

Reply via email to