在 INSERT(str, Pos, len, newstr) 函数中,如果 'Pos' 超出字符串长度,结果会是什么?
如果插入位置不在字符串长度范围内,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)
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP