ออราเคิลแทนที่

Xxrakheil Thaenthi



บทความนี้จะสำรวจการใช้ฟังก์ชันแทนที่ () บนฐานข้อมูล Oracle เพื่อแทนที่การเกิดขึ้นของสตริงย่อยที่กำหนดด้วยสตริงย่อยอื่น

ไวยากรณ์ของฟังก์ชัน

รหัสต่อไปนี้แสดงไวยากรณ์ของฟังก์ชันเปลี่ยน ():







REPLACE(source_string, สตริงย่อย, replacement_string);

ฟังก์ชันยอมรับพารามิเตอร์สามตัว:



  1. source_string – แสดงถึงสตริงต้นทางที่จะค้นหา
  2. สตริงย่อย - ตั้งค่าสตริงย่อยที่จะแทนที่
  3. เปลี่ยน_string – กำหนดสตริงหรือชุดของอักขระที่ถูกแทนที่ในตำแหน่งของสตริงย่อย

ฟังก์ชันส่งกลับประเภทสตริงที่มีการเกิดขึ้นทั้งหมดของสตริงย่อยที่แทนที่ด้วย replacement_string



ตัวอย่างฟังก์ชัน Oracle Replace()

ตัวอย่างต่อไปนี้สาธิตการทำงานของฟังก์ชันภายใต้พารามิเตอร์และประเภทอินพุตต่างๆ





ตัวอย่างที่ 1 – แทนที่การเกิดขึ้นของสตริงย่อย

ตัวอย่างด้านล่างแสดงการใช้งานหลักของฟังก์ชันเปลี่ยน () กับพารามิเตอร์อินพุตทั้งหมดที่มีให้

เลือกแทนที่ ('การพัฒนาฐานข้อมูล Oracle', 'ab', 'xy') AS แทนที่
จากคู่;

ข้อความค้นหาด้านบนใช้ฟังก์ชันแทนที่ () เพื่อแทนที่อักขระ (ab) ด้วย (xy) ผลลัพธ์ที่ได้:



แทนที่แล้ว                   |
--------------------------+
การพัฒนา Oracle datxyase|

ตัวอย่างที่ 2 – การใช้ฟังก์ชันแทนที่เพื่อลบสตริงย่อย

ดังที่กล่าวไว้ เราสามารถใช้ฟังก์ชันแทนที่ () เพื่อลบสตริงย่อยออกจากสตริงต้นทาง สิ่งนี้เกิดขึ้นเมื่อเราไม่ได้ให้ค่าจากสตริงย่อยตามที่แสดง:

เลือกแทนที่ ('https://linuxhint.com', 'https://') AS d จากคู่;

ผล:

ด         |
-------------+
linuxhint.com|

ตัวอย่างที่ 3 – แทนที่ค่าในตาราง

เรามักใช้ฟังก์ชันแทนที่ () เพื่อแทนที่ค่าในตารางฐานข้อมูล นำตารางตัวอย่างที่แสดง:

สร้างตาราง sample_data
(
หมายเลขประจำตัวประชาชน            
ชื่อแรก varchar2(50),
ip_address  varchar2(20),
btc_address varchar2(50),
credit_card varchar2(50),
ตัวระบุ  varchar2(40),
ข้อ จำกัด คีย์หลัก sample_pk (id)
);
ใส่ใน sample_data (id, first_name, ip_address, btc_address, credit_card, identifier)
ค่า (11, 'วอลลาส', '169.158.70.77', '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q', '4017955174552',
'26811d77-0a3a-4397-bc33-f7835f7c7ab9');
ใส่ใน sample_data(id, first_name, ip_address, btc_address, credit_card, identifier)
ค่า (12, 'เอียน', '148.190.10.178', '1ADxBV7n9JeDDcb8pL24J9wV54mcSRHdu7', '4017956704480827',
'a69fe590-bc1b-4001-8ff8-154bcdb5802d');
ใส่ใน sample_data (id, first_name, ip_address, btc_address, credit_card, identifier)
ค่า (13, 'Pasquale', '150.86.18.140', '126hVKom2Foy9LEA6M4pUAT1h97c2rSD8B', '4017953296787867',
'34ac9385-9e1e-4d13-9537-c4eedb9f2c35');

ก่อนการปรับปรุงคำสั่ง:

เลือก FIRST_NAME, IP_ADDRESS, CREDIT_CARD จาก SAMPLE_DATA sd;

เราสามารถใช้ฟังก์ชันแทนที่ () เพื่อแทนที่เหตุการณ์ทั้งหมดของ 4 ในคอลัมน์ credit_card ด้วย 5

อัปเดต SAMPLE_DATA SET CREDIT_CARD = REPLACE(CREDIT_CARD, '4', '5');

หลังจากคำสั่งอัปเดต:

ในตารางผลลัพธ์ เราสามารถตรวจสอบได้ว่าค่าในคอลัมน์ credit_card ถูกแทนที่จาก 4 เป็น 5

บทสรุป

จากบทช่วยสอนนี้ คุณจะเข้าใจการทำงานของฟังก์ชันเปลี่ยน () ในฐานข้อมูล Oracle