My bad, should read more carefully.

 

Andrew Zenz

 

 

________________________________

From: [email protected]
[mailto:[email protected]] 
Sent: Tuesday, 8 December 2015 6:12 PM
To: [email protected]
Subject: AW: [firebird-support] string difficulty

 

  

Hello,

 

but this ist almost realized in my code, isn't it?

 

>From right until there is no * present

 

 

Von: [email protected]
[mailto:[email protected]] 
Gesendet: Montag, 7. Dezember 2015 23:28
An: [email protected]
Betreff: RE: [firebird-support] string difficulty

 

  

How about working backwards through the string?

 

Andrew Zenz

 

________________________________

From: [email protected]
[mailto:[email protected]] 
Sent: Tuesday, 8 December 2015 6:59 AM
To: [email protected]
Subject: Re: [firebird-support] string difficulty

 

  

Den 07.12.2015 13:55, skrev 'checkmail' [email protected]
<mailto:[email protected]>  
[firebird-support]:
> .. and if the ID has the length of 15 chars and only the las * is for 
filling out to 16, i get a wrong result too.
>
> Can I compact my code?
>
> if(char_length(str)>16) then
> begin
> str = left(:str,16);
> while (k = 1) do
> begin
> if(right(str, 1) = '*') then
> begin
> str = left(str,char_length(str)-1);
> end
> else
> begin
> teil = str;
> k = 0;
> end
> end
> end
>
> (exept the one begin-end (only one command can be without..)
>

http://www.firebirdsql.org/refdocs/langrefupd25-intfunc-trim.html
<http://www.firebirdsql.org/refdocs/langrefupd25-intfunc-trim.html> 

Hence, I think your 16 lines above can be replaced by one simple line 
(if you use Fb 2.5):

str = trim (trailing '*' from left(:str, 16));

HTH,
Set



Reply via email to