Hallo zusammen,
ich habe eine RS6000 mit AIX,ORACLE 7.3.4 und sqlplus 3.3.4 .
In der Datenbank sind 516 Datensätze falsch. Es handelt sich um Straßennamen die zusammengeschrieben wurden(z.B. "BonnerStr.).
Zum Anzeigen gebe ich folgendes ein:
select „name“ from „SpStreet“ where „name“ like ‚%rS%‘;
Es werden auch brav 516 Straßennamen aufgereiht aber wie kann ich ein Leerzeichen dazwischeneinfügen ?Die ORACLE-Hilfe gibt auch nichts her.
ich bin SQL-Neuling und bitte deshalb um Rat.
Danke im Voraus
Jörg
Also ich bin zu faul jetzt die genauen Syntaktika (ist doch richtig für Mehrzahl von Syntax oder?) nachzulesen, aber im Prinzip sollte es so funktionieren: Du suchst Dir mit INSTR das letzte Vorkommen von ‚S‘ im gewünschten String und machst Dir dann mit
den kompletten String. Für ‚pos‘ mußt Du natürlich den INSTR-Aufruf einfügen.
Gruß,
TheBeast
P.S.: Viellecht gibt´s eine ‚Lukas Hildebrandt Gasse‘ und eine ‚Berliner Gasse‘ - die findet Dein SELECT nicht. Wie man die aber vernünftig herausfindet fällt mir im Moment auch nicht ein.
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Ich hab das so interpretiert, daß der String „rS“ für Straßen die nach Orten oder Namen benannt sind, falsch sind. Aber wissen will ich es jetzt schon. Ich probiers morgen einfach mal aus.
Allerdings halte ich die REPLACE Lösung für die eleganteste
Ciao, Uwe
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Update:
update kam
set strasse = substr(strasse,1,instr(strasse,‚rS‘))||’ '||substr(strasse,instr(strasse,‚rS‘)+1,length(strasse))
where strasse like ‚%rS%‘
update adressen
set strasse = substr(strasse,1,instr(‚rS‘))||’
'||substr(strasse,instr(‚rS‘)+1,length(strasse))
where strasse like ‚%rS%‘
Funktioniert leider für die ‚SaarbrückenerStraße‘ nicht.
Allerdings halte ich die REPLACE Lösung für die eleganteste
Hi zusammen!
Also jetzt genier ich mich aber tierisch! Ich hab´ doch glatt bei Deiner Version im INSTR nur das ‚S‘ gesehen und nicht, daß Du eh nach ‚rS‘ suchst (liegt wahrscheinlich daran, daß ich selbst zuerst an diese Lösung gedacht hatte). So geht´s natürlich. Jaja, lesen sollte man halt schon können *sichinirgendeineeckeverkriech*.
Und daß natürlich die REPLACE - Lösung die eleganteste ist, daran kann gar kein Zweifel bestehen, aber warum einfach, wenn´s auch kompliziert geht *g*.