Seite 1 von 1

[GELÖST] Zeichen in Abfrage ersetzten

Verfasst: Di 18. Dez 2012, 20:20
von wartburgritter
Ich möchte in einer Abfrage alle Leerzeichen durch Unterstriche ersetzen. Hab den Befehl replace gefunden. So wie ich es verstehe muss ich den hinten mit AND anhängen, aber mein sql-wissen geht noch gegen null, NOCH!!!

Code: Alles auswählen

SELECT "ProjektBezeichnung", "ProjektArchivNummer" FROM  "Projektliste" AND REPLACE ( <quelltext>, <suche>, <ersetze> )
wobei ich komme vor alle bei quelltext nicht weiter ich will ja alle einträge ?!?

Code: Alles auswählen

 REPLACE (  * , '  ', '_') 
gibt syntaxerror


gruss bernd

Re: Zeichen in Abfrage ersetzten

Verfasst: Di 18. Dez 2012, 20:47
von RobertG
Hallo Bernd,

aus dem Base-Handbuch:
REPLACE(s,replace,s2) - Ersetzt alle vorkommenden Textstücke mit dem Inhalt replace im Text s durch den Text s2
Bedeutet für Dich

Code: Alles auswählen

SELECT "ProjektBezeichnung", "ProjektArchivNummer" FROM  "Projektliste" AND REPLACE ( <quelltext>, <suche>, <ersetze> )
muss geändert werden zu

Code: Alles auswählen

SELECT REPLACE("ProjektBezeichnung",' ','_') AS "ProjektBezeichnungMitUnterstrich", "ProjektArchivNummer" FROM  "Projektliste"
Gruß

Robert

Re: Zeichen in Abfrage ersetzten

Verfasst: Mi 19. Dez 2012, 09:12
von wartburgritter
@Robert

Du hast nen Tip für ne gute einführung in sql, ausser dass was in den Basehandbüchern steht. Ich stehe schon wider auf dem Schlauch, so kann das nicht weitergehen.

Nun will ich natürlich das Zeichenersetzen mit meinen anderen Wünschen kombinieren und scheitere wieder mal kläglich.

Code: Alles auswählen

SELECT REPLACE("ProjektBezeichnung",' ','_') AS "ProjektBezeichnungMitUnterstrich", "ProjektArchivNummer" FROM  "Projektliste"
funktioniert wunderbar, aber

Code: Alles auswählen

 SELECT REPLACE("ProjektBezeichnung",' ','_') AS "ProjektBezeichnungMitUnterstrich" || '--' || "ProjektArchivNummer" FROM  "Projektliste"  
funktioniert nun wieder nicht, Syntax error...

Als nächsten Schritt will ich ja das dann noch mit ifnull verknüpfen. :? :? :? :? :?

gruss bernd, der grad ganz schön verzweifelt ist, weil seine sql-kenntnisse 15 jahre zurückliegen, und da einfach nichts mehr da ist.

Re: Zeichen in Abfrage ersetzten

Verfasst: Mi 19. Dez 2012, 09:16
von wartburgritter
ja ja, erst überlegen, dann posten...

Code: Alles auswählen

 SELECT REPLACE("ProjektBezeichnung",' ','_')  || '--' || "ProjektArchivNummer" FROM  "Projektliste"  
funktioniert wunderbar ...

Boa, und REPLACE lässt sich einfach in IFNULL reinschachtel, :D :D :D :D

so jetzt wird das noch mit der klickbaren macrofunkion verbunden, aber erst nach dem urlaub.

gruss bernd :D :D

ps. nur des so stolzes und des dankes wegen

Code: Alles auswählen

 SELECT 
"Ort" 
|| '---' || 
REPLACE( "ProjektBezeichnung", ' ', '_' ) 
|| '--' || 
"Gebaeudetyp" 
|| '--' || 
IFNULL( REPLACE( "Flurname", ' ', '_' ), 'x' ) 
|| '--' || 
"Bautyp" 
|| '--' || 
IFNULL( "ProjektArchivNummer", 0 ) 

FROM { OJ "Projektliste" 
LEFT OUTER JOIN "Ort" ON "Projektliste"."OrtID" = "Ort"."ID" 
LEFT OUTER JOIN "Gebaeudetyp" ON "Projektliste"."GebaeudetypID" = "Gebaeudetyp"."ID" 
LEFT OUTER JOIN "Bautyp" ON "Projektliste"."BautypID" = "Bautyp"."ID" } 
ORDER BY "Ort" ASC, "ProjektBezeichnung" ASC, "Gebaeudetyp" ASC, "Flurname" ASC, "ProjektArchivNummer" ASC