SelectINSERT('Tutorialspoint',-1,4,'.com');+----------"/> SelectINSERT('Tutorialspoint',-1,4,'.com');+----------">

Maison  >  Article  >  base de données  >  Si « Pos » n'est pas dans la plage de longueur de la chaîne, quel sera le résultat dans la fonction INSERT(str, Pos, len, newstr) ?

Si « Pos » n'est pas dans la plage de longueur de la chaîne, quel sera le résultat dans la fonction INSERT(str, Pos, len, newstr) ?

WBOY
WBOYavant
2023-08-24 13:21:061355parcourir

如果'Pos'不在字符串的长度范围内,在函数INSERT(str, Pos, len, newstr)中,会得到什么结果?

La fonction MySQL INSERT() n'effectue pas l'opération d'insertion lorsque la position d'insertion n'est pas dans la plage de longueur de chaîne. Il y a certains cas, comme lorsque nous transmettons une valeur négative ou une valeur 0 (zéro), ou lorsque la valeur est supérieure à 2 valeurs du nombre total de caractères dans la chaîne d'origine, nous pouvons dire que 'pos' n'est pas dans la longueur de la chaîne. Cela peut être compris à travers l'exemple suivant :

Exemple

La requête ci-dessous n'effectuera pas l'opération d'insertion car 'pos' n'est pas dans la plage de longueur de chaîne, c'est-à-dire qu'il s'agit d'une valeur négative.

mysql> Select INSERT('Tutorialspoint',-1,4,'.com');
+--------------------------------------+
| INSERT('Tutorialspoint',-1,4,'.com') |
+--------------------------------------+
| Tutorialspoint                       |
+--------------------------------------+
1 row in set (0.00 sec)

La requête ci-dessous n'effectuera pas l'insertion car 'pos' n'est pas compris dans la longueur de la chaîne, qui est 0 (zéro).

mysql> Select INSERT('Tutorialspoint',0,4,'.com');
+-------------------------------------+
| INSERT('Tutorialspoint',0,4,'.com') |
+-------------------------------------+
| Tutorialspoint                      |
+-------------------------------------+
1 row in set (0.00 sec)

La requête suivante ne fera pas d'insertion car 'pos' n'est pas dans la longueur de la chaîne, c'est-à-dire une valeur de 2 de plus que le nombre de caractères dans la chaîne d'origine. Dans l'exemple ci-dessous, la chaîne d'origine « Tutorialspoint » comporte 14 caractères et nous avons donné la valeur de position 16, donc aucune insertion n'aura lieu.

mysql> Select INSERT('Tutorialspoint',16,4,'.com');
+--------------------------------------+
| INSERT('Tutorialspoint',16,4,'.com') |
+--------------------------------------+
| Tutorialspoint                       |
+--------------------------------------+
1 row in set (0.00 sec)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer