Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi wie sag ich's auf sql?` (https://www.delphipraxis.net/71471-wie-sag-ichs-auf-sql-%60.html)

sancho1980 15. Jun 2006 19:30

Datenbank: firebird • Zugriff über: ibx, ibexpert

wie sag ich's auf sql?`
 
hallo
noch eine frage

angenommen ich habe eine tabelle, die unter anderem ein feld 'feld' hat

jetzt soll folgendes erreicht werden:

suche alle datensätze,
SQL-Code:
where feld like '%gesuchterString%'
und ersetze 'gesuchterString' mit 'ersetzterString'.


aus

'irgendwas gesuchterString was anderes'

sollte also werden

'irgendwas ersetzterString was anderes'

versteht ihr?

danke,

martin

mkinzler 15. Jun 2006 19:35

Re: wie sag ich's auf sql?`
 
SQL-Code:
update tabelle set feld = 'ersetzterString' where feld like '%gesuchterString%';
Wobei das like vielleicht mehe ersetzt als erwünscht.

sancho1980 15. Jun 2006 19:37

Re: wie sag ich's auf sql?`
 
Zitat:

Zitat von mkinzler
Wobei das like vielleicht mehe ersetzt als erwünscht.

Genau das is ja das Problem.
Was davor und danach steht soll je eben beibehalten werden.
Schätze ich komm um eine SP nicht herum... :-(

mkinzler 15. Jun 2006 19:41

Re: wie sag ich's auf sql?`
 
Um dein Problem zu lösen mußt du entweder ne SP oder ne UDF schreiben.

omata 15. Jun 2006 20:30

Re: wie sag ich's auf sql?`
 
Was spricht gegen folgendes...

SQL-Code:
UPDATE tabelle
SET feld = REPLACE(feld, 'gesuchterString', 'ersetzterString')
Gruss
Thorsten

mkinzler 15. Jun 2006 20:36

Re: wie sag ich's auf sql?`
 
In welcher UDF-Lib befindet sich diese UDF?

omata 15. Jun 2006 20:40

Re: wie sag ich's auf sql?`
 
mkinzler meinst du mich?

REPLACE ist eine SQL-String-Funktion, die viele Datenbanken einfach so zur Verfügung stellen. Wenn Firebird das nicht kann, dann tut es mir leid.

MfG
Thorsten

mkinzler 15. Jun 2006 20:57

Re: wie sag ich's auf sql?`
 
Der Umfang der BuiltIn-Functions in FB ist sehr übersichtlich. Eine passende Funktion StrReplace() befindet sich aber in der rFunc-Lib.

omata 15. Jun 2006 21:25

Re: wie sag ich's auf sql?`
 
Nah gut, wenn Firebird so eingeschrägt ist - schade oder geht es so...

SQL-Code:
UPDATE tabelle
SET feld = STRREPLACE(feld, 'gesuchterString', 'ersetzterString')
Bemitleidende Grüsse
Thorsten

Nimm ne ordentliche Datenbank (mssql, oracle, mysql, postgres).

mkinzler 15. Jun 2006 21:30

Re: wie sag ich's auf sql?`
 
Mit FB werden aber UDF-Libs mitgeliefert die eine Großzahl von Funktionen mitbringen. Komischerweise nicht die Replace. Aber in diesem fall hätte man sie auch schnell selber implementieren können.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:58 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz