Einzelnen Beitrag anzeigen

Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
672 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Stored Procedure: Wie varchar iterieren?

  Alt 12. Dez 2016, 21:38
variante 1: nutze die replace funktion
http://www.ibexpert.net/ibe/index.php?n=Doc.REPLACE

Variante 2: so was in der Art mit substring

Code:
create procedure repl
(val varchar(10))
returns
(res varchar(10))
as
declare variable c char(1);
begin
  res='';
  while (char_length(val)>0) do
  begin
    c=substring(val from 1 for 1);
    val=substring(val from 2 for 10);
    if (c='A') then c='1'; else
    if (c='C') then c='3';
    res=res||c;
  end
  suspend;
end

select repl.res from repl('ABCDEFGHIJ');
Wichtiger Hinweis noch: O.a. Verfahren nicht mit BLOB Variablen machen , siehe http://tracker.firebirdsql.org/browse/CORE-5114
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
IBExpert and Firebird Power Workshops jederzeit auch als Firmenschulung

Geändert von IBExpert (12. Dez 2016 um 21:50 Uhr)
  Mit Zitat antworten Zitat