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