OVERLAY()
DSQL, PSQL
VARCHAR
oder BLOB
OVERLAY (string PLACING replacement FROM pos [FOR length])
Parameter | Beschreibung |
---|---|
string |
Die Zeichenfolge, in die die Ersetzung erfolgt |
replacement |
Ersetzende Zeichenkette |
pos |
Die Position, von der aus ersetzt wird (Ausgangsposition) |
length |
Die Anzahl der zu überschreibenden Zeichen |
OVERLAY()
überschreibt einen Teil eines Strings mit einem anderen String.Standardmäßig entspricht die Anzahl der aus der Hostzeichenfolge entfernten (überschriebenen) Zeichen der Länge der Ersetzungszeichenfolge.Mit dem optionalen vierten Argument kann eine andere Anzahl von Zeichen zum Entfernen angegeben werden.
-
Diese Funktion unterstützt
BLOB
s beliebiger Länge. -
Wenn string oder replacement ein
BLOB
ist, ist das Ergebnis einBLOB
.Andernfalls ist das Ergebnis einVARCHAR(n)
mit n der Summe der Längen von string und replacement. -
Wie bei SQL-Stringfunktionen üblich, ist pos 1-basiert.
-
Wenn pos hinter dem Ende von string steht, wird replacement direkt nach string platziert.
-
Wenn die Anzahl der Zeichen von pos bis zum Ende von string kleiner ist als die Länge von replacement (oder als das length-Argument, falls vorhanden), wird string an pos abgeschnitten und replacement dahinter platziert.
-
Eine “
FOR 0
”-Klausel bewirkt, dass replacement einfach in string eingefügt wird. -
Wenn ein Argument
NULL
ist, ist das ErgebnisNULL
. -
Wenn pos oder length keine ganze Zahl ist, wird Banker-Rundung (auf-gerade) angewendet, d. h. 0,5 wird zu 0, 1,5 wird zu 2, 2,5 wird zu 2, 3,5 wird zu 4 usw.
Warning
|
Bei Verwendung auf einem 'BLOB' muss diese Funktion möglicherweise das gesamte Objekt in den Speicher laden.Dies kann die Leistung beeinträchtigen, wenn es um große |