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

MySQL tương đương STUFF () trong SQL Server là gì?

Nếu bạn đã quen thuộc với SQL Server, bạn có thể biết rằng bạn có thể sử dụng T-SQL STUFF() chức năng để chèn một chuỗi trong một chuỗi. Hóa ra, MySQL có một chức năng tương tự - nhưng với một tên khác.

INSERT() của MySQL về cơ bản hàm thực hiện giống như T-SQL STUFF() chức năng nào.

Ngoại trừ một số khác biệt nhỏ (xem bên dưới), cả hai chức năng hoạt động hoàn toàn giống nhau.

Cú pháp

Đây là cú pháp chính thức của từng hàm này.

T-SQL - Hàm STUFF ()

STUFF ( character_expression , start , length , replaceWith_expression )

MySQL - Hàm INSERT ()

INSERT(str,pos,len,newstr)

Mặc dù mỗi định nghĩa này sử dụng các thuật ngữ khác nhau nhưng về cơ bản chúng đều làm giống nhau.

Ví dụ

Dưới đây là một ví dụ về hoạt động của từng chức năng này.

T-SQL - Hàm STUFF ()

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

Kết quả:

Cats like dogs

MySQL - Hàm INSERT ()

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

Kết quả:

Cats like dogs

Như bạn có thể thấy, sự khác biệt duy nhất là tên hàm. Chúng ta có thể chuyển cái này sang cái kia chỉ đơn giản bằng cách thay đổi tên của hàm.

Sự khác biệt giữa STUFF () và INSERT ()

Có một số khác biệt trong cách hoạt động của các chức năng này. Đặc biệt, hai điểm khác biệt chính là cách họ giải quyết:

  • Vị trí ngoài phạm vi
  • Giá trị NULL

Những khác biệt này được giải thích bên dưới.

Vị trí ngoài phạm vi

Nếu bạn cố gắng chèn ở vị trí nằm ngoài độ dài của chuỗi gốc, thì INSERT() của MySQL hàm sẽ trả về chuỗi ban đầu. Mặt khác, STUFF() của T-SQL hàm sẽ trả về NULL .

T-SQL - Hàm STUFF ()

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

Kết quả:

NULL

MySQL - Hàm INSERT ()

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

Kết quả:

Cats and dogs

Giá trị NULL

Hai hàm này cũng khác nhau về cách chúng xử lý với bất kỳ giá trị NULL nào mà bạn cố gắng chèn.

T-SQL - Hàm STUFF ()

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

Kết quả:

Cats dogs

T-SQL - Hàm INSERT ()

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. Hướng dẫn thiết kế cơ sở dữ liệu cho hệ thống quản lý hàng tồn kho trong MySQL

  2. Các phương pháp tiếp cận sharding với MySQL?

  3. Ví dụ QUARTER () - MySQL

  4. mã hóa một danh sách để sử dụng trong mệnh đề python MySQLDB IN

  5. Về Neo4j