在 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)

更新時間: 2020年6月22日

瀏覽量 145

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告