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

ทำการค้นหา/แทนที่เฉพาะการเกิดขึ้นครั้งแรกของอักขระที่มีตัวแปรเซสชันใน MySQL


หากต้องการดำเนินการค้นหา/แทนที่เฉพาะการเกิดขึ้นครั้งแรก ให้ใช้ฟังก์ชัน CONCAT และ REPLACE()

แบบสอบถามมีดังต่อไปนี้เพื่อตั้งค่าตัวแปรเซสชันที่กำหนดโดยผู้ใช้ -

mysql> set @Sentence='Thks ks is a string';Query OK, 0 แถวได้รับผลกระทบ (0.00 วินาที)

ใน k นี้จะถูกแทนที่ด้วย i เพียงครั้งเดียว แบบสอบถามมีดังนี้ เราได้ใช้ INSTR() ด้วย −

mysql> เลือก @Sentence เป็น NewString ,CONCAT(REPLACE(LEFT(@Sentence,INSTR(@Sentence, 'k')), 'k', 'i'), -> SUBSTRING(@Sentence, INSTR(@ ประโยค 'k') + 1)) เป็น ChangeOnlyOneTime;

ต่อไปนี้เป็นผลลัพธ์ที่แสดงเฉพาะการเกิดขึ้นครั้งแรกของอักขระที่ถูกแทนที่ -

<ก่อนหน้า>+-----------------------+--------------------------- ----+| NewString | ChangeOnlyOneTime |+--------------------------------------+---------------------- ---+| Thks ks เป็นสตริงของฉัน | ks นี้เป็นสตริงของฉัน |+--------------------------------------+----------------- --------+1 แถวในชุด (0.00 วินาที)