In MariaDB INSERT()
ist eine eingebaute String-Funktion, mit der Sie einen Teilstring in einen anderen String einfügen können.
Syntax
Die Syntax lautet wie folgt:
INSERT(str,pos,len,newstr)
Wobei str
ist die Zeichenfolge, pos
ist die Startposition für die Einfügung, len
ist die Anzahl der zu ersetzenden Zeichen und newstr
ist der einzufügende Teilstring.
Beispiel
Hier ist ein einfaches Beispiel:
SELECT INSERT('The hot sun', 5, 3, 'red');
Ergebnis:
+------------------------------------+ | INSERT('The hot sun', 5, 3, 'red') | +------------------------------------+ | The red sun | +------------------------------------+
Hier habe ich das Wort hot
ersetzt mit dem Wort red
.
Nachfolgend finden Sie weitere Beispiele, die zeigen, wie die Positions- und Längenargumente das Ergebnis beeinflussen können.
SELECT
INSERT('The hot sun', 5, 0, 'red ') AS "1",
INSERT('The hot sun', 5, 3, 'black hole') AS "2",
INSERT('The hot sun', 1, 7, 'Black hole') AS "3";
Ergebnis:
+-----------------+--------------------+----------------+ | 1 | 2 | 3 | +-----------------+--------------------+----------------+ | The red hot sun | The black hole sun | Black hole sun | +-----------------+--------------------+----------------+
Falsche Ausgangsposition
Wenn die Startposition außerhalb der Länge des Strings liegt, wird der ursprüngliche String zurückgegeben.
SELECT
INSERT('The hot sun', 0, 3, 'red ') AS "1",
INSERT('The hot sun', -5, 3, 'red') AS "2",
INSERT('The hot sun', 20, 3, 'red') AS "3";
Ergebnis:
+-------------+-------------+-------------+ | 1 | 2 | 3 | +-------------+-------------+-------------+ | The hot sun | The hot sun | The hot sun | +-------------+-------------+-------------+
Lange Argumente
Wenn die Länge (drittes Argument) genauso lang oder länger als der Rest des Strings ist, wird der Rest des Strings durch den Teilstring ersetzt.
Beispiel:
SELECT
INSERT('The hot sun', 5, 10, 'red ') AS "1",
INSERT('The hot sun', 9, 3, 'pavement') AS "2",
INSERT('The hot sun', 9, 4, 'pavement') AS "3",
INSERT('The hot sun', 1, 20, 'red') AS "4";
Ergebnis:
+----------+------------------+------------------+------+ | 1 | 2 | 3 | 4 | +----------+------------------+------------------+------+ | The red | The hot pavement | The hot pavement | red | +----------+------------------+------------------+------+
Null-Argumente
Bereitstellung von null
für jedes der Argumente ergibt sich null
:
SELECT
INSERT(null, 5, 10, 'red ') AS "1",
INSERT('The hot sun', null, 3, 'pavement') AS "2",
INSERT('The hot sun', 9, null, 'pavement') AS "3",
INSERT('The hot sun', 1, 20, null) AS "4";
Ergebnis:
+------+------+------+------+ | 1 | 2 | 3 | 4 | +------+------+------+------+ | NULL | NULL | NULL | NULL | +------+------+------+------+
Angabe der falschen Anzahl von Argumenten
Aufruf von INSERT()
mit der falschen Anzahl von Argumenten oder ohne Übergabe von Argumenten führt zu einem Fehler:
SELECT INSERT();
Ergebnis:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1