在 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