ฟังก์ชัน INSERT() ของ MySQL จะไม่ทำการแทรกค่า หากตำแหน่งการแทรกไม่อยู่ภายในความยาวของสตริง มีกรณีบางกรณี เช่น การส่งค่าลบหรือ 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)