Dans MariaDB, INSERT()
est une fonction de chaîne intégrée qui vous permet d'insérer une sous-chaîne dans une autre chaîne.
Syntaxe
La syntaxe ressemble à ceci :
INSERT(str,pos,len,newstr)
Où str
est la chaîne, pos
est la position de départ de l'insert, len
est le nombre de caractères à remplacer, et newstr
est la sous-chaîne à insérer.
Exemple
Voici un exemple de base :
SELECT INSERT('The hot sun', 5, 3, 'red');
Résultat :
+------------------------------------+ | INSERT('The hot sun', 5, 3, 'red') | +------------------------------------+ | The red sun | +------------------------------------+
Ici, j'ai remplacé le mot hot
avec le mot red
.
Vous trouverez ci-dessous d'autres exemples pour démontrer comment les arguments de position et de longueur peuvent affecter le résultat.
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";
Résultat :
+-----------------+--------------------+----------------+ | 1 | 2 | 3 | +-----------------+--------------------+----------------+ | The red hot sun | The black hole sun | Black hole sun | +-----------------+--------------------+----------------+
Mauvaise position de départ
Si la position de départ est en dehors de la longueur de la chaîne, la chaîne d'origine est renvoyée.
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";
Résultat :
+-------------+-------------+-------------+ | 1 | 2 | 3 | +-------------+-------------+-------------+ | The hot sun | The hot sun | The hot sun | +-------------+-------------+-------------+
Arguments longs
Si la longueur (troisième argument) est aussi longue ou plus longue que le reste de la chaîne, le reste de la chaîne est remplacé par la sous-chaîne.
Exemple :
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";
Résultat :
+----------+------------------+------------------+------+ | 1 | 2 | 3 | 4 | +----------+------------------+------------------+------+ | The red | The hot pavement | The hot pavement | red | +----------+------------------+------------------+------+
Arguments nuls
Fournir null
pour l'un des arguments, les résultats sont 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";
Résultat :
+------+------+------+------+ | 1 | 2 | 3 | 4 | +------+------+------+------+ | NULL | NULL | NULL | NULL | +------+------+------+------+
Fournir le mauvais nombre d'arguments
Appel de INSERT()
avec le mauvais nombre d'arguments, ou sans passage d'arguments, une erreur se produit :
SELECT INSERT();
Résultat :
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