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