Thay thế Oracle

Thay The Oracle



Bài viết này tìm hiểu cách sử dụng hàm replace() trên cơ sở dữ liệu Oracle để thay thế sự xuất hiện của một chuỗi con đã cho bằng một chuỗi con khác.

Cú pháp hàm

Đoạn mã sau hiển thị cú pháp của hàm replace():







REPLACE(chuỗi_nguồn, chuỗi con, chuỗi_thay thế);

Hàm chấp nhận ba tham số:



  1. nguồn_string – đại diện cho chuỗi nguồn được tìm kiếm.
  2. chuỗi con – đặt chuỗi con được thay thế
  3. chuỗi thay thế – xác định chuỗi hoặc tập hợp các ký tự được thay thế ở vị trí của chuỗi con.

Hàm trả về một kiểu chuỗi với tất cả các lần xuất hiện của chuỗi con được thay thế bằng chuỗi thay thế.



Các ví dụ về hàm Replace() của Oracle

Các ví dụ sau minh họa cách hoạt động của hàm dưới các tham số và loại đầu vào khác nhau:





Ví dụ 1 – Thay thế chuỗi con

Ví dụ dưới đây minh họa cách sử dụng chính của hàm replace() với tất cả các tham số đầu vào được cung cấp.

chọn thay thế ('Phát triển cơ sở dữ liệu Oracle', 'ab', 'xy') AS được thay thế
từ kép;

Truy vấn trên sử dụng hàm replace() để thay thế các ký tự (ab) bằng (xy). kết quả đầu ra:



THAY THẾ                   |
-------------------------- +
Phát triển datxyase của Oracle |

Ví dụ 2 – Sử dụng hàm Replace để xóa chuỗi con

Như đã đề cập, chúng ta có thể sử dụng hàm replace() để xóa một chuỗi con khỏi chuỗi nguồn. Điều này xảy ra khi chúng tôi không cung cấp giá trị từ chuỗi con như được hiển thị:

CHỌN thay thế ('https://linuxhint.com', 'https: //') NHƯ d TỪ kép;

kết quả:

D            |
-------------+
linuxhint.com|

Ví dụ 3 – Thay thế các giá trị trong bảng

Chúng ta thường sử dụng hàm replace() để thay thế các giá trị trong bảng cơ sở dữ liệu. Lấy bảng ví dụ được hiển thị:

tạo bảng sample_data
(
số ID,
first_name  varchar2(50),
ip_address  varchar2(20),
btc_address varchar2(50),
thẻ tín dụng varchar2(50),
số nhận dạng  varchar2(40),
ràng buộc khóa chính sample_pk (id)
);
chèn vào sample_data (id, first_name, ip_address, btc_address, credit_card, ID)
các giá trị (11, 'Wallas', '169.158.70.77', '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q', '4017955174552',
'26811d77-0a3a-4397-bc33-f7835f7c7ab9');
chèn vào sample_data(id, first_name, ip_address, btc_address, credit_card, ID)
các giá trị (12, 'Ian', '148.190.10.178', '1ADxBV7n9JeDDcb8pL24J9wV54mcSRHdu7', '4017956704480827',
'a69fe590-bc1b-4001-8ff8-154bcdb5802d');
chèn vào sample_data (id, first_name, ip_address, btc_address, credit_card, ID)
các giá trị (13, 'Pasquale', '150.86.18.140', '126hVKom2Foy9LEA6M4pUAT1h97c2rSD8B', '4017953296787867',
'34ac9385-9e1e-4d13-9537-c4eedb9f2c35');

Trước tuyên bố cập nhật:

CHỌN FIRST_NAME, IP_ADDRESS, CREDIT_CARD TỪ SAMPLE_DATA sd;

Chúng ta có thể sử dụng hàm replace() để thay thế tất cả các lần xuất hiện của 4 trong cột credit_card bằng 5.

CẬP NHẬT SAMPLE_DATA SET CREDIT_CARD = REPLACE(CREDIT_CARD, '4', '5');

Sau tuyên bố cập nhật:

Trong bảng kết quả, chúng tôi có thể xác minh các giá trị trong cột credit_card đã được thay thế từ 4 thành 5.

Phần kết luận

Thông qua hướng dẫn này, bạn đã hiểu hoạt động của hàm replace() trong cơ sở dữ liệu Oracle.