Hallo,

leider gibt es in SQL erst ab Release V5R3M0 eine Funktion REPLACE, die es ermöglicht Zeichen aus einem String zu entfernen.

PHP-Code:
D MyText          S             50A   inz('ABC XYZ 1234 567890 A')
*----------------------------------------------------------
C/EXEC SQL                                             
C
+ Set :MyText = Replace(:MyText, ' ', '')           
C/End-Exec                                             
                                                       
C     MyText        Dsply 
C                   
Eval         *INLR = *On 
Wenn Du diese Funktionalität vor Release V5R3M0 unbedingt in SQL braucht, hast Du nur die Möglichkeit Dir eine User Defined Function (UDF) zu stricken.

Dabei kann es sich entweder um eine Funktion z.B. in RPG geschrieben, die als UDF registriert wird, oder die direkt in SQL geschrieben ist.

Die folgende Funktion müsste funktionnieren:
PHP-Code:
Create Function MyLib/RmvCharacter                         
 
(InString VarChar(100),RepChar VarChar(1))                
 
returns varchar(100)                                      
 
Language SQL                                              
BEGIN                                                      
Declare OutStr varchar(100);                               
Declare 
StrPos integer;                                    
Set OutStr   = InString;                                   
Set StrPos   = -1;                                         
While 
StrPos <> 0 Do                                       
  
Set StrPos  = locate(RepChar, OutStr, 1);                
  If       
StrPos > 1                                      
       
and StrPos < Length(OutStr) - 1                     
  Then Set OutStr 
= substr(OutStr, 1, StrPos - 1) concat   
                    substr
(OutStr, StrPos + 1,             
                           
Length(OutStr) - StrPos);       
  ElseIf   
StrPos = Length(Outstr)                         
  
Then Set OutStr = substr(OutStr, 1, StrPos - 1);         
  ElseIf   
StrPos = 1                                      
  Then Set OutStr 
= substr(OutStr, 2, Length(Outstr) - 1); 
  
End If;                                                  
End While;                                                 
Return 
OutStr;                                             
END 
Birgitta