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

Cách chèn một chuỗi vào một chuỗi khác trong MySQL bằng cách sử dụng INSERT ()

Trong MySQL, bạn có thể sử dụng INSERT() hàm chèn một chuỗi vào một chuỗi khác.

Bạn có thể thay thế các phần của chuỗi bằng một chuỗi khác (ví dụ:thay thế một từ) hoặc bạn có thể chèn nó trong khi duy trì chuỗi ban đầu (ví dụ:thêm một từ). Hàm chấp nhận 4 đối số xác định chuỗi gốc là gì, vị trí để chèn chuỗi mới, số ký tự cần xóa khỏi chuỗi gốc và chuỗi mới để chèn.

Đây là cú pháp:

INSERT(str,pos,len,newstr)

Ở đâu str là chuỗi gốc, pos là vị trí mà chuỗi mới sẽ được chèn, len là số ký tự cần xóa khỏi chuỗi gốc và newstr là chuỗi mới để chèn.

Thay thế một từ

Đây là một ví dụ mà tôi sử dụng INSERT() để thay thế một từ trong một chuỗi:

SELECT INSERT('Cats and dogs', 6, 3, 'like');

Kết quả:

Cats like dogs

Điều này thay thế hiệu quả từ and với từ like . Tôi đã sử dụng 6 bởi vì từ và bắt đầu ở dấu 6 ký tự và tôi đã sử dụng 3 vì đó là số ký tự tôi muốn xóa (từ and dài 3 ký tự).

Chèn một từ

Ở đây tôi chỉ cần chèn một từ mà không xóa bất kỳ thứ gì khỏi chuỗi gốc:

SELECT INSERT('Cats and dogs', 10, 0, 'big ');

Kết quả:

Cats and big dogs

Lý do mà thao tác này không xóa bất kỳ thứ gì khỏi chuỗi ban đầu là vì tôi đã chỉ định 0 (có nghĩa là không có ký tự nào nên bị xóa).

Giá trị ngoài phạm vi

Nếu bạn chỉ định một vị trí nằm ngoài độ dài của chuỗi ban đầu, MySQL sẽ trả về chuỗi ban đầu không thay đổi.

Ví dụ:

SELECT INSERT('Cats and dogs', 20, 4, 'rabbits');

Kết quả:

Cats and dogs

Đây là một ví dụ khác mà tôi sử dụng vị trí bắt đầu phủ định:

SELECT INSERT('Cats and dogs', -1, 4, 'rabbits');

Kết quả:

Cats and dogs

Đây là một trong những điểm khác biệt giữa INSERT() của MySQL chức năng và STUFF() của Transact-SQL hàm số. Trong T-SQL, STUFF() hàm sẽ trả về NULL trong những trường hợp này.

Chèn giá trị NULL

Một khu vực khác mà INSERT() của MySQL khác với STUFF() của T-SQL là với giá trị NULL. Nếu bạn cố gắng chèn giá trị NULL, MySQL sẽ trả về NULL .

SELECT INSERT('Cats and dogs', 6, 3, NULL);

Kết quả:

NULL

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tôi có thể lưu trữ hình ảnh trong MySQL không

  2. sự khác biệt giữa khóa chính và khóa duy nhất

  3. Sự cố với các loại nội dung khi tải một vật cố định trong Django

  4. Hàm MySQL ASIN () - Trả về Arc Sine của một số

  5. Hỗ trợ JSON gốc trong MYSQL 5.7:Ưu và nhược điểm của kiểu dữ liệu JSON trong MYSQL là gì?