如果MySQL INSERT()函数中的插入位置超出范围,会发生什么情况?

INSERT()如果插入位置超出范围,MySQL函数将不执行任何插入操作。当我们传递一个负值或0(零)值,或者该值超出原始字符串中的字符总数的值2时,插入位置可能会超出范围。以下示例-

示例

下面的查询将不执行任何插入操作,因为插入位置超出范围,即为负值。

mysql> Select INSERT('Virat', -1,5,'Kohli');
+-------------------------------+
| INSERT('Virat', -1,5,'Kohli') |
+-------------------------------+
| Virat                         |
+-------------------------------+
1 row in set (0.00 sec)

下面的查询将不执行任何插入操作,因为插入位置超出范围,即0(零)。

mysql> Select INSERT('Virat', 0,5,'Kohli');
+------------------------------+
| INSERT('Virat', 0,5,'Kohli') |
+------------------------------+
| Virat                        |
+------------------------------+
1 row in set (0.00 sec)

以下查询将不执行插入操作,因为插入位置超出范围,即比原始字符串中的多个字符值超出2。在下面的示例中,原始字符串“ Virat”包含5个字符,而我们给出的头寸值为7,因此不会发生任何插入。

mysql> Select INSERT('Virat', 7,5,'Kohli');
+------------------------------+
| INSERT('Virat', 7,5,'Kohli') |
+------------------------------+
| Virat                        |
+------------------------------+
1 row in set (0.00 sec)
猜你喜欢