ใช้ CONCAT() และ REPLACE() ร่วมกับ INSTR() บน Session Variable เพื่อแทนที่เฉพาะครั้งแรก
ตัวอย่างการใช้งาน
ตั้งค่า Session Variable:
mysql> SET @Sentence = 'Thks ks is a my string'; Query OK, 0 rows affected (0.00 sec)
แทนที่ 'k' ตัวแรกด้วย 'i':
mysql> SELECT @Sentence AS NewString,
-> CONCAT(REPLACE(LEFT(@Sentence, INSTR(@Sentence, 'k')), 'k', 'i'),
-> SUBSTRING(@Sentence, INSTR(@Sentence, 'k') + 1)) AS ChangeOnlyOneTime;
ผลลัพธ์:
+------------------------+------------------------+ | NewString | ChangeOnlyOneTime | +------------------------+------------------------+ | Thks ks is a my string | This ks is a my string | +------------------------+------------------------+
เพียง 'k' ตัวแรกใน "Thks" ถูกแทนที่ เป็น "This" ส่วน "ks" คงเดิม
การประยุกต์ใช้กับตาราง
สามารถนำ Logic นี้ไปใช้ใน UPDATE คอลัมน์ของตารางได้เช่นกัน (ดูรายละเอียดในบทความก่อนหน้า)