AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Strings schnell ersetzen
Thema durchsuchen
Ansicht
Themen-Optionen

Strings schnell ersetzen

Ein Thema von Nersgatt · begonnen am 28. Apr 2015 · letzter Beitrag vom 29. Apr 2015
 
Benutzerbild von Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
693 Beiträge
 
Delphi 10.1 Berlin Professional
 
#1

Strings schnell ersetzen

  Alt 28. Apr 2015, 15:42
Datenbank: MySql • Version: 5.6 • Zugriff über: SQL
Moin,

ich habe auf dem MySql-Server eine Function erstellt, um bestimmte Zeichen in einem String durch andere Zeichen zu ersetzen.
Ich frage ich mich, ob man da noch irgendwie etwas mehr Geschwindigkeit rausholen könnte? Es geht mir dabei um die Ersetzung von Polnischen Akzenten um den Buchstaben ohne Akzent.

So sieht die Function momentan aus:
Code:
CREATE DEFINER=`root`@`localhost` FUNCTION `normalize_str`(AStr VarChar(2000)) RETURNS varchar(2000) CHARSET utf8
BEGIN

  declare _withAccents   VarChar(200) default 'ąĆćꣳńÓ󌜏źŻż';
  declare _withoutAccents VarChar(200) default 'aCceLlnOoSsZzZz';
 
  declare _length integer default length(_withAccents);
  declare _i integer default 1;
 
  while (_i <= _length) do
    set AStr = Replace(AStr, substring(_withaccents, _i, 1), substring(_withoutaccents, _i, 1));
    set _i = _i + 1;
  end while;
 

  RETURN AStr;
END
Es wird ja für jedes Sonderzeichen ein Replace ausgelöst. Könnte man das evtl. eleganter lösen?

Danke!

Edit: Das Forum stellt die Sonderzeichen in meinem Quelltext nicht richtig dar. In meiner Function stehen natürlich nicht die &#-Sachen, sondern wirklich das entsprechende Sonderzeichen.
Jens

Geändert von Nersgatt (28. Apr 2015 um 15:45 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz