Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ค้นหาและแทนที่ตัวอักษรครั้งแรกด้วย Session Variable ใน MySQL

ใช้ 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 คอลัมน์ของตารางได้เช่นกัน (ดูรายละเอียดในบทความก่อนหน้า)