Hallo allemaal,

Ik gebruik firebird 2.1 en ik heb daar zelf een procedure gemaakt die een Hex(string) getal omzet naar een decimaal getal
wanneer ik deze op de volgende manier aanroep wertk alles prima
Code:
 
 select * from Hex2Int('05F43')
echter ik wil deze op de volgende manier gebruiken
Code:
select hex2int(EPC_Code) from EPC_PIJPNRS
where pijpnr = 22707
Het veld EPC_Code is een char(5) veld met daarin een hexadecimaal getal

Wanneer ik deze sql uitvoer krijg ik de foutmelding unknown function Hex2Int

Moet ik mijn procedure eerst nog ergens registreren wanneer ik het op deze manier wil gebruiken

Code:
BEGIN
  /* Procedure body */
  
  Counter =1;
  LENGTE = CHAR_LENGTH(TRIM(HEXCODE));
  INTVALUE=0;
  while (counter <= LENGTE) DO
  BEGIN
   VALSTR = SUBSTRING(HEXCODE from COUNTER for 1);
   VAL=0;
   if (VALSTR = '0') THEN VAL=0;
   if (VALSTR = '1') THEN VAL=1;
   if (VALSTR = '2') THEN VAL=2;
   if (VALSTR = '3') THEN VAL=3;   
   if (VALSTR = '4') THEN VAL=4;
   if (VALSTR = '5') THEN VAL=5;
   if (VALSTR = '6') THEN VAL=6;
   if (VALSTR = '7') THEN VAL=7;   
   if (VALSTR = '8') THEN VAL=8;
   if (VALSTR = '9') THEN VAL=9;
   if (VALSTR = 'A') THEN VAL=10;
   if (VALSTR = 'B') THEN VAL=11;   
   if (VALSTR = 'C') THEN VAL=12;
   if (VALSTR = 'D') THEN VAL=13;
   if (VALSTR = 'E') THEN VAL=14;
   if (VALSTR = 'F') THEN VAL=15;   
   INTVALUE=INTVALUE + (VAL*POWER(16,LENGTE-COUNTER));
   COUNTER=COUNTER+1;
            
  END
  
  SUSPEND;
END