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中文网其他相关文章!