Hàm REPLACE trong SQL Server

Hàm REPLACE trong SQL Server là gì? Nếu chưa biết, mời bạn cùng Quantrimang.com tìm hiểu lệnh REPLACE trong SQL Server dưới đây.

Mô tả

Hàm REPLACE trong SQL Server được sử dụng để thay thế tất cả các lần xuất hiện của chuỗi con a thành chuỗi con b mới trong một chuỗi cho trước.

Cú pháp

Để sử dụng hàm REPLACE trong SQL Server, ta dùng cú pháp như sau:

REPLACE(chuoi, chuoi_a, chuoi_b)

Tham số:

  • chuoi: chuỗi nguồn mà một chuỗi nhỏ trong đó sẽ được thay thế bằng một chuỗi khác.
  • chuoi_a: nằm trong chuoi, sẽ được thay thế bởi một chuỗi khác sau khi chạy hàm.
  • chuoi_b: chuỗi mới thay thế chuoi_a. Tất cả các lần xuất hiện của chuoi_a sẽ được thay thế bằng chuoi_b.

Lưu ý:

  • Hàm REPLACE thực hiện thay thế không phân biệt chữ hoa chữ thường.
  • Hàm REPLACE có thể được sử dụng trong các phiên bản sau của SQL Server: SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005.

Ví dụ

Hãy xem và khám phá một số ví dụ về hàm REPLACE trong SQL Server.

SELECT REPLACE('QuaNtrimang.com', 'n', '3');
Result: ‘Qua3trima3g.com’ (Cả n và N đều được thay thế bằng 3)

SELECT REPLACE('Quantrimang.com', 'quan', '1234');
Result: ‘1234trimang.com’

SELECT REPLACE('Quantrimang.com', '.com', '1');
Result: ‘Quantrimang1’

SELECT REPLACE('Quan Tri Mang', ' ', '0');
Result: ‘Quan0Tri0Mang’

Cách dùng REPLACE trong SQL Server bằng lệnh UPDATE

Trong SQL Server, bạn sẽ hoạt động với cả bảng và database. Vì thế, hãy cùng xem xét ví dụ dùng hàm replace() SQL cùng với lệnh UPDATE để cập nhật dữ liệu trong bảng nhé!

Lấy ví dụ một bảng khách hàng trên toàn cầu. Giả sử bạn đã nhập sai mã vùng trong danh sách liên hệ và muốn thay thế nó bằng mã đúng cho tất cả liên hệ ở quốc gia đó. Đây là nơi bạn có thể dùng Replace trong SQL Server. Trước khi đi vào chi tiết, tạo bảng Customers bằng lệnh CREATE TABLE và chèn một số giá trị bằng lệnh INSERT INTO.

Tạo bảng:

CREATE TABLE Customers(

    C_ID int PRIMARY KEY,

    C_FirstName VARCHAR(20) NOT NULL,

    C_LastName VARCHAR(20) NOT NULL,

    Country VARCHAR(20) NOT NULL,

    Contact_No NVARCHAR(15) UNIQUE,

    Email_ID NVARCHAR(35)

);

Chèn giá trị:

INSERT INTO Customers VALUES (1, 'Aakash', 'Roy', 'India', '+91 861.543.1240', 'ar.com');

INSERT INTO Customers VALUES (2, 'Adam', 'Frip', 'USA', '+2 651.283.1942', 'af.com');

INSERT INTO Customers VALUES (3, 'David', 'Hemsworth', 'France', '+33 527.535.4569', 'dh.com');

INSERT INTO Customers VALUES (4, 'Rahul', 'Chopra', 'India', '+91 935.283.9212', 'rc.com');

INSERT INTO Customers VALUES (5, 'Chris', 'Martin', 'USA', '+2 726.835.9625', 'dm.com');

INSERT INTO Customers VALUES (6, 'Charles', 'Johnson', 'France', '+33 650.239.5647', 'cj.com');

INSERT INTO Customers VALUES (7, 'George', 'Austin', 'India', '+91 932.751.6583', 'ga.com');

Tìm nạp kết quả:

Select * FROM Customers;

Kết quả:

Sử dụng hàm REPLACE trong SQL SERVER

Như bạn thấy, bảng trên bị sai mã vùng cho khách hàng ở Mỹ (+2) thay cho (+1). Dùng REPLACE trong SQL cùng lệnh UPDATE để sửa lỗi này.

UPDATE khách hàng

SET

Contact_No = REPLACE(Contact_No, '+2', '+1');

Tìm nạp kết quả

SELECT * FROM Customers;

Kết quả:

Kết quả dùng REPLACE với lệnh UPDATE

Bài trước: Hàm LTRIM trong SQL Server

Bài tiếp: Hàm RIGHT trong SQL Server

Thứ Năm, 06/07/2023 16:49
3,413 👨 27.511
0 Bình luận
Sắp xếp theo
    ❖ SQL Server