Computer >> Máy Tính >  >> Lập trình >> MySQL

Trong hàm INSERT (str, Pos, len, newstr), kết quả sẽ như thế nào nếu ‘Pos’ không nằm trong độ dài của chuỗi?


Hàm MySQL INSERT () không thực hiện chèn nếu vị trí chèn không nằm trong độ dài của chuỗi. Có một số trường hợp như chúng ta chuyển một giá trị âm hoặc 0 (không) hoặc giá trị vượt quá giá trị của tổng số ký tự trong một chuỗi ban đầu bằng 2 khi chúng ta có thể nói rằng 'pos' không nằm trong độ dài của chuỗi . Nó có thể được hiểu với sự trợ giúp của ví dụ sau -

Ví dụ

Truy vấn bên dưới sẽ không thực hiện chèn vì ‘pos’ không nằm trong độ dài của chuỗi, tức là một giá trị âm.

mysql> Select INSERT('Tutorialspoint',-1,4,'.com');
+--------------------------------------+
| INSERT('Tutorialspoint',-1,4,'.com') |
+--------------------------------------+
| Tutorialspoint                       |
+--------------------------------------+
1 row in set (0.00 sec)

Truy vấn bên dưới sẽ không thực hiện chèn vì 'pos' không nằm trong độ dài của chuỗi, tức là 0 (không).

mysql> Select INSERT('Tutorialspoint',0,4,'.com');
+-------------------------------------+
| INSERT('Tutorialspoint',0,4,'.com') |
+-------------------------------------+
| Tutorialspoint                      |
+-------------------------------------+
1 row in set (0.00 sec)

Truy vấn bên dưới sẽ không thực hiện chèn vì 'pos' không nằm trong độ dài của chuỗi, tức là vượt quá giá trị của một số ký tự trong chuỗi gốc bằng 2. Trong ví dụ dưới đây, chuỗi gốc 'Tutorialspoint' có 14 ký tự và giá trị của vị trí chúng tôi cung cấp là 16 do đó không xảy ra chèn.

mysql> Select INSERT('Tutorialspoint',16,4,'.com');
+--------------------------------------+
| INSERT('Tutorialspoint',16,4,'.com') |
+--------------------------------------+
| Tutorialspoint                       |
+--------------------------------------+
1 row in set (0.00 sec)