Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ในฟังก์ชัน 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)