Sql-und-Xml - Home

Server-Daten: Die Web - Datenbank als CRM - Lösung

Sql-Befehle für Abfragen

Replace

Durchsucht die erste Zeichenfolge nach allen Vorkommen der zweiten Zeichenfolge, ersetzt diese durch die dritte Zeichenfolge und gibt das Ergebnis zurück.

Syntax

Replace (<erste Zeichenausdruck>, <zweiter Zeichenausdruck>, <dritter Zeichenausdruck>)

Parameterliste

<erster Zeichenausdruck>
der zu durchsuchende Zeichenausdruck, der auch eine Spalte sein kann
<zweiter Zeichenausdruck>
die gesuchte und zu ersetzende Zeichenfolge
<dritter Zeichenausdruck>
die Zeichenfolge, welche für die zweite Zeichenfolge eingesetzt wird
Rückgabewert
Zeichendaten
Typ
Zeichenfolgen-Funktion

Beispiele

Replace('abc', 'a', 'b') = 'bbc'
Replace('abc abc abc', 'a', 'b') = 'bbc bbc bbc'
Replace('abc', 'a', '') = 'bc'

Soll eine Teilzeichenfolge gelöscht werden, so ist '' als dritter Parameter zu nutzen.

Hinweise

Replace('abc abc abc', Null, 'b') = Null

Ist einer der drei Parameter Null, so wird Null zurückgegeben. Für den ersten Parameter ist dies unmittelbar einleuchtend ('wo nichts ist, kann auch nichts ersetzt werden'). Für den zweiten oder dritten Parameter mag dies verwirren, da bsp. beim zweiten Parameter naheliegt, zu sagen: 'Es wurde keine Null gefunden, also wird nichts verändert'. Die Logik, hier ebenfalls Null zurückzugeben, liegt darin, zu sagen, daß bei Null als dem zweiten Parameter nichts geprüft werden konnte und deshalb ein Ersatzwert - Null - zurückgegeben wird, welcher auf diesen Sachverhalt hinweist. Für diesen Wert gibt es Spezialfunktionen wie CoalEsce, welche eine Weiterverarbeitung gestatten:

CoalEsce(Replace(<Spaltenname>, @ersteVariable, @zweiteVariable), <Spaltenname>)


© 2003-2009 Jürgen Auer, Berlin.