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
