หากคุณทำงานกับฐานข้อมูล MySQL คุณอาจเจอสถานการณ์ที่ต้องแก้ไขข้อมูลโดยแทนที่อักขระหรือสตริงย่อยภายในสตริง ในสถานการณ์สมมตินี้ ฟังก์ชัน REPLACE() มีประโยชน์เพราะช่วยให้คุณแทนที่อินสแตนซ์ทั้งหมดของสตริงย่อยภายในสตริงด้วยสตริงย่อยอื่น
ในบทความนี้ เราจะสำรวจไวยากรณ์และการใช้ฟังก์ชัน MySQL REPLACE() พร้อมตัวอย่าง
ฟังก์ชัน REPLACE() ทำงานอย่างไรใน MySQL
“ แทนที่() ” ฟังก์ชันใน MySQL ใช้เพื่อแทนที่/แทนที่เหตุการณ์ทั้งหมดของสตริงย่อยเฉพาะในสตริงที่มีสตริงย่อยอื่น ฟังก์ชัน REPLACE() รับอาร์กิวเมนต์สามอาร์กิวเมนต์ตามที่ระบุด้านล่างในไวยากรณ์:
แทนที่ ( สตริง, แทนที่_สตริง, แทนที่_ด้วย_สตริง )
ในไวยากรณ์ข้างต้น:
-
- คำว่า “ สตริง ” คืออินพุตหรือสตริงดั้งเดิมที่คุณต้องการแก้ไข
- คำว่า “ แทนที่_string ” หมายถึงสตริงย่อยที่คุณต้องการแทนที่
- คำว่า “ แทนที่_ด้วย_สตริง ” คือสตริงย่อยที่คุณต้องการแทนที่ด้วย
มาดูตัวอย่างเพื่อทำความเข้าใจการทำงานของฟังก์ชัน REPLACE()
ตัวอย่างที่ 1: แทนที่อักขระเฉพาะในสตริง
มาแทนที่อักขระเฉพาะโดยใช้ ' แทนที่() ” ฟังก์ชันและดึงผลลัพธ์ด้วยปุ่ม “ เลือก ' คำแถลง:
เลือกแทนที่ ( 'ลีนุกซ์' , 'ชม' , 'ม' ) ;
ในตัวอย่างข้างต้น อักขระ “ ชม. ” ถูกแทนที่ด้วย “ ม ' ใน ' ลีนุกซ์ ” สตริง
เอาต์พุต
ในผลลัพธ์ คุณจะเห็นว่า ' ลีนุกซ์ ” สตริงถูกเปลี่ยนเป็น “ ลินุกซ์มินต์ ” เช่น อักขระที่ระบุ “ ชม. ” ถูกแทนที่ด้วยตัวอักษร “ ม '.
ตัวอย่างที่ 2: กำจัดอักขระเฉพาะออกจากสตริง
สามารถลบอักขระในสตริงได้โดยใช้ปุ่ม “ แทนที่() ” ทำหน้าที่ดังนี้
เลือกแทนที่ ( 'ลีนุกซ์' , 'ชม' , '' ) ;
ในตัวอย่างข้างต้น อาร์กิวเมนต์ที่สาม (replace_with_string) เป็นค่า NULL
เอาต์พุต
ผลลัพธ์แสดงให้เห็นว่าอักขระ 'h' ถูกลบออกเนื่องจากอาร์กิวเมนต์ที่สามมีค่าว่าง
ตัวอย่างที่ 3: แทนที่สตริงย่อยด้วยสตริงย่อยอื่นในคอลัมน์
หากต้องการแทนที่สตริงย่อยด้วยสตริงย่อยอื่นในคอลัมน์ ปุ่ม ' แทนที่() ฟังก์ชัน ” สามารถใช้กับ “ เลือก ” ข้อความดังนี้
เลือก first_name, last_name, REPLACE ( สถานะ, 'ค' , 'ใน' ) เช่น รัฐ เมืองจากลูกค้า
ที่รัฐ = 'ที่' ;
ในตัวอย่างข้างต้น ฟังก์ชัน REPLACE() ถูกนำไปใช้กับ “ สถานะ ” คอลัมน์ของ “ ลูกค้า ” โต๊ะ และ “ ที่ไหน ” ใช้ประโยคเพื่อกรองผลลัพธ์
เอาต์พุต
ผลลัพธ์แสดงว่าสตริงย่อยที่ระบุถูกแทนที่แล้ว
ตัวอย่างที่ 4: อัปเดตค่าโดยการแทนที่คอลัมน์
สามารถอัปเดตค่าได้โดยใช้ปุ่ม “ แทนที่() ” ฟังก์ชัน โดยการตั้งค่าผลตอบแทนของฟังก์ชัน ดังตัวอย่างด้านล่าง:
อัปเดตหมวดหมู่ชื่อชุด = แทนที่ ( ชื่อ, 'ของเล่นและเกม' , 'ของเล่น' ) ;
ในตัวอย่างข้างต้น คำว่า “ ของเล่นและเกม ” (สตริง) ถูกแทนที่ด้วย “ ของเล่น ” สตริงใน “ ชื่อ ” คอลัมน์ของ “ หมวดหมู่ ' โต๊ะ.
เอาต์พุต
ผลลัพธ์แสดงให้เห็นว่าสตริงย่อย “ ของเล่นและเกม ” ถูกแทนที่ด้วย “ ของเล่น “.
บทสรุป
ใน MySQL หากต้องการแทนที่สตริงย่อยภายในสตริงหรือคอลัมน์ สามารถใช้ฟังก์ชัน REPLACE() ได้ สามารถใช้เพื่อลบอักขระ เปลี่ยนข้อมูลตาราง หรือแทนที่อักขระหรือสตริงย่อยเฉพาะ หากต้องการใช้ฟังก์ชัน REPLACE() ใน MySQL คุณต้องระบุอาร์กิวเมนต์ 3 รายการ ได้แก่ สตริง แทนที่สตริง และแทนที่ด้วยสตริง คู่มือนี้ได้อธิบายรายละเอียดว่าฟังก์ชัน REPLACE() ทำงานอย่างไรใน MySQL