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

ผลลัพธ์ของฟังก์ชัน INSERT() เมื่อ 'Pos' ไม่อยู่ในความยาวของสตริง


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