Si vous connaissez SQL Server, vous savez peut-être que vous pouvez utiliser T-SQL STUFF()
fonction pour insérer une chaîne dans une chaîne. Il s'avère que MySQL a une fonction similaire, mais avec un nom différent.
INSERT()
de MySQL La fonction fait essentiellement la même chose que le T-SQL STUFF()
fonctionne.
À l'exception de quelques différences mineures (voir ci-dessous), les deux fonctions fonctionnent exactement de la même manière.
Syntaxe
Voici la syntaxe officielle de chacune de ces fonctions.
T-SQL - La fonction STUFF()
STUFF ( character_expression , start , length , replaceWith_expression )
MySQL – La fonction INSERT()
INSERT(str,pos,len,newstr)
Bien que chacune de ces définitions utilise une terminologie différente, elles font essentiellement la même chose.
Exemples
Voici un exemple de chacune de ces fonctions en action.
T-SQL - La fonction STUFF()
SELECT STUFF('Cats and dogs', 6, 3, 'like');
Résultat :
Cats like dogs
MySQL – La fonction INSERT()
SELECT INSERT('Cats and dogs', 6, 3, 'like');
Résultat :
Cats like dogs
Comme vous pouvez le voir, la seule différence est le nom de la fonction. Nous pouvons porter l'un à l'autre simplement en changeant le nom de la fonction.
Différences entre STUFF() et INSERT()
Il existe quelques différences dans le fonctionnement de ces fonctions. En particulier, les deux principales différences sont la façon dont ils traitent :
- Positions hors plage
- Valeurs NULL
Ces différences sont expliquées ci-dessous.
Positions hors plage
Si vous essayez d'insérer à une position qui est en dehors de la longueur de la chaîne d'origine, INSERT()
de MySQL fonction renverra la chaîne d'origine. D'autre part, STUFF()
de T-SQL la fonction renverra NULL
.
T-SQL - La fonction STUFF()
SELECT STUFF('Cats and dogs', 20, 4, 'rabbits');
Résultat :
NULL
MySQL – La fonction INSERT()
SELECT INSERT('Cats and dogs', 20, 4, 'rabbits');
Résultat :
Cats and dogs
Valeurs NULLES
Ces deux fonctions diffèrent également dans la façon dont elles traitent les valeurs NULL que vous essayez d'insérer.
T-SQL - La fonction STUFF()
SELECT STUFF('Cats and dogs', 6, 3, NULL);
Résultat :
Cats dogs
T-SQL - La fonction INSERT()
SELECT INSERT('Cats and dogs', 6, 3, NULL);
Résultat :
NULL