Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi einzelnes Wort in SQL ändern (https://www.delphipraxis.net/86132-einzelnes-wort-sql-aendern.html)

XXcD 9. Feb 2007 17:35

Datenbank: MYSQL • Version: 5 • Zugriff über: PHP

einzelnes Wort in SQL ändern
 
Hallo,
ich habe folgendes problem, ich wollte ein Wort von mehreren in einer tabelle ändern und weiß nicht wie.

Beispiel: Tabelle Name: Hans Müstermann

Und jetzt will ich z.b. nur das "Mustermann" ändern. Wie könnte ich das mit SQL machen????

shmia 9. Feb 2007 17:57

Re: einzelnes Wort in SQL ändern
 
Deine Frage ist reichlich unpräzise:
Willst du Dateninhalte ändern oder Tabellen-/Feldnamen ändern ?
Man kann Dateninhalte nur im Gesamten ändern:
SQL-Code:
UPDATE TabelleXY SET Ansprechpartner='Hans Ohnesorg' WHERE Ansprechpartner='Hans Müstermann'

XXcD 9. Feb 2007 18:03

Re: einzelnes Wort in SQL ändern
 
Ne das muss gehen ich weiß nicht was vorher in der Tabelle steht also der soll mit einer angabe von Stellen das ändern. ich hab mal gelesen mit $nachname = Mustermann{36]. Dieses 36 steht dafür an welcher stelle das geändert wird, aber ich weiß nicht wie das genau gehen soll.

omata 9. Feb 2007 18:12

Re: einzelnes Wort in SQL ändern
 
Hallo XXcD,

versuch doch mal...
SQL-Code:
UPDATE TabelleXY
SET Ansprechpartner = REPLACE(Ansprechpartner, 'Müstermann', 'Mustermann')
WHERE ...
Gruss
Thorsten

XXcD 9. Feb 2007 18:37

Re: einzelnes Wort in SQL ändern
 
Ich glaube ich hab das immernoch falsch beschrieben. Ich meinte das so ich der Tabelle steht was und ich weiß nur dass das zweite wort geändert werden soll. Mit dem Mustermann das weiß ich garnicht dass das da steht.

omata 9. Feb 2007 19:13

Re: einzelnes Wort in SQL ändern
 
Dafür kennt MySQL leider keinen geeigneten Befehl...

Das musst du dann wohl selber basteln...
SQL-Code:
SELECT CASE WHEN INSTR(name, ' ') > 0 
         THEN CONCAT(
                SUBSTRING(name, 1, INSTR(name, ' ')),
                'Ersetzung',
                SUBSTRING(
                  name,
                  INSTR(name, ' ') + 1 +
                  INSTR(RIGHT(CONCAT(name, ' '), INSTR(name, ' ') + 1), ' '),
                  LENGTH(name))
                )
         ELSE name
       END name
FROM tabelle
Elegant ist das allerdings nicht.

Gruss
Thorsten

XXcD 9. Feb 2007 20:06

Re: einzelnes Wort in SQL ändern
 
Danke das hat mir schonmal weitergeholfen. Hat diese Prozedure vielleicht einen Namen den man bei google finden kann? Dann könnte ich mich damit noch ein wenig vertraut machen da ich kaum Ahnung von SQL habe.

omata 9. Feb 2007 20:34

Re: einzelnes Wort in SQL ändern
 
Welche Prozedur? Ich habe dir oben eine SQL-Abfrage geschrieben, in der ich einige SQL-Funktionen benutzt habe...

SQL-Code:
INSTR, CONCAT, SUBSTRING, RIGHT, LENGTH
Schau doch mal hier.

Gruss
Thorsten

XXcD 10. Feb 2007 14:58

Re: einzelnes Wort in SQL ändern
 
Ich kriege das einfach nicht hin *heul*. Sagen wir mal ich möchte das 43. Wort ändern. Wie müsste ich das dann machen????

omata 10. Feb 2007 15:11

Re: einzelnes Wort in SQL ändern
 
Was willst du da eigentlich genau machen? Meinst du das das sinnvoll ist solche Sachen direkt über ein SQL-Statement zu machen?

Verwunderte Grüsse
Thorsten


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:14 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