Trong MariaDB, INSERT()
là một hàm chuỗi tích hợp cho phép bạn chèn một chuỗi con vào một chuỗi khác.
Cú pháp
Cú pháp như sau:
INSERT(str,pos,len,newstr)
Ở đâu str
là chuỗi, pos
là vị trí bắt đầu của chèn, len
là số ký tự cần thay thế và newstr
là chuỗi con để chèn.
Ví dụ
Đây là một ví dụ cơ bản:
SELECT INSERT('The hot sun', 5, 3, 'red');
Kết quả:
+------------------------------------+ | INSERT('The hot sun', 5, 3, 'red') | +------------------------------------+ | The red sun | +------------------------------------+
Ở đây tôi đã thay thế từ hot
với từ red
.
Dưới đây là các ví dụ khác để chứng minh cách các đối số vị trí và độ dài có thể ảnh hưởng đến kết quả.
SELECT
INSERT('The hot sun', 5, 0, 'red ') AS "1",
INSERT('The hot sun', 5, 3, 'black hole') AS "2",
INSERT('The hot sun', 1, 7, 'Black hole') AS "3";
Kết quả:
+-----------------+--------------------+----------------+ | 1 | 2 | 3 | +-----------------+--------------------+----------------+ | The red hot sun | The black hole sun | Black hole sun | +-----------------+--------------------+----------------+
Vị trí bắt đầu sai
Nếu vị trí bắt đầu nằm ngoài độ dài của chuỗi, thì chuỗi ban đầu được trả về.
SELECT
INSERT('The hot sun', 0, 3, 'red ') AS "1",
INSERT('The hot sun', -5, 3, 'red') AS "2",
INSERT('The hot sun', 20, 3, 'red') AS "3";
Kết quả:
+-------------+-------------+-------------+ | 1 | 2 | 3 | +-------------+-------------+-------------+ | The hot sun | The hot sun | The hot sun | +-------------+-------------+-------------+
Đối số Độ dài
Nếu độ dài (đối số thứ ba) dài bằng hoặc dài hơn phần còn lại của chuỗi, phần còn lại của chuỗi được thay thế bằng chuỗi con.
Ví dụ:
SELECT
INSERT('The hot sun', 5, 10, 'red ') AS "1",
INSERT('The hot sun', 9, 3, 'pavement') AS "2",
INSERT('The hot sun', 9, 4, 'pavement') AS "3",
INSERT('The hot sun', 1, 20, 'red') AS "4";
Kết quả:
+----------+------------------+------------------+------+ | 1 | 2 | 3 | 4 | +----------+------------------+------------------+------+ | The red | The hot pavement | The hot pavement | red | +----------+------------------+------------------+------+
Đối số rỗng
Cung cấp null
đối với bất kỳ đối số nào dẫn đến null
:
SELECT
INSERT(null, 5, 10, 'red ') AS "1",
INSERT('The hot sun', null, 3, 'pavement') AS "2",
INSERT('The hot sun', 9, null, 'pavement') AS "3",
INSERT('The hot sun', 1, 20, null) AS "4";
Kết quả:
+------+------+------+------+ | 1 | 2 | 3 | 4 | +------+------+------+------+ | NULL | NULL | NULL | NULL | +------+------+------+------+
Cung cấp số lượng lập luận sai
Đang gọi INSERT()
với số lượng đối số sai hoặc không chuyển bất kỳ đối số nào dẫn đến lỗi:
SELECT INSERT();
Kết quả:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1