Hàm REPLACE trong SQL Server

Thứ sáu - 07/07/2023 00:58

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

 

 

Nguồn tin: Quantrimang.com:

Tổng số điểm của bài viết là: 0 trong 0 đánh giá

  Ý kiến bạn đọc

THỐNG KÊ TRUY CẬP
  • Đang truy cập58
  • Máy chủ tìm kiếm1
  • Khách viếng thăm57
  • Hôm nay14,252
  • Tháng hiện tại156,561
  • Tổng lượt truy cập9,862,413
QUẢNG CÁO
Phan Thanh Phú
Quảng cáo 2
Liên kết site
Đăng nhập Thành viên
Hãy đăng nhập thành viên để trải nghiệm đầy đủ các tiện ích trên site
Thăm dò ý kiến

Bạn thấy Website cần cải tiến những gì?

Lịch Âm dương
Máy tính
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây