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

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

WBOY
WBOY转载
2023-08-24 13:21:061355浏览

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

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)

以上是如果'Pos'不在字符串的长度范围内,在函数INSERT(str, Pos, len, newstr)中,会得到什么结果?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:tutorialspoint.com。如有侵权,请联系admin@php.cn删除