
MySQL INSERT()函数在插入位置不在字符串长度范围内时不执行插入操作。有一些情况,比如我们传递一个负值或0(零)值,或者值超过原始字符串中字符总数的2个值时,我们可以说'pos'不在字符串长度范围内。可以通过以下示例来理解:
示例
下面的查询不会执行插入操作,因为'pos'不在字符串长度范围内,即为负值。
mysql> Select INSERT('Tutorialspoint',-1,4,'.com');
+--------------------------------------+
| INSERT('Tutorialspoint',-1,4,'.com') |
+--------------------------------------+
| Tutorialspoint |
+--------------------------------------+
1 row in set (0.00 sec)下面的查询不会执行插入,因为'pos'不在字符串的长度范围内,即0(零)。
mysql> Select INSERT('Tutorialspoint',0,4,'.com');
+-------------------------------------+
| INSERT('Tutorialspoint',0,4,'.com') |
+-------------------------------------+
| Tutorialspoint |
+-------------------------------------+
1 row in set (0.00 sec)以下查询不会进行插入,因为'pos'不在字符串长度内,即超过原始字符串中字符数的值2。在下面的示例中,原始字符串'Tutorialspoint'有14个字符,我们给出的位置值为16,因此不会发生插入。
mysql> Select INSERT('Tutorialspoint',16,4,'.com');
+--------------------------------------+
| INSERT('Tutorialspoint',16,4,'.com') |
+--------------------------------------+
| Tutorialspoint |
+--------------------------------------+
1 row in set (0.00 sec)










