MariaDB
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> MariaDB

Cách hoạt động của hàm INSERT () trong MariaDB

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách hoạt động của LEFT () trong MariaDB

  2. Cách thực thi và quản lý bản sao lưu MySQL cho Oracle DBA’s

  3. Cách REPLACE () hoạt động trong MariaDB

  4. Hàm MIN () trong MariaDB

  5. Cách thay thế MySQL hoặc MariaDB Master trung gian bằng máy chủ Binlog sử dụng MaxScale