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

เราจะย้อนกลับสตริง MySQL ที่เชื่อมต่อโดย dash ได้อย่างไร


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

mysql> Select REVERSE('AB-CD-EF');
+---------------------+
| REVERSE('AB-CD-EF') |
+---------------------+
| FE-DC-BA            |
+---------------------+
1 row in set (0.00 sec)

ผลลัพธ์ที่เหมาะสมคือ 'EF-CD-AB' และเพื่อให้ได้ผลลัพธ์ดังกล่าว เราสามารถใช้ฟังก์ชัน SUBSTRING_INDEX() ร่วมกับฟังก์ชัน Instr() แสดงให้เห็นดังนี้:

mysql> Select CONCAT(SUBSTRING_INDEX('AB-CD-EF','-',-1), '-', substr('AB-CD-EF',instr('AB-CD-EF',"-")+1, instr('AB-CD-EF',"-")),LEFT('AB-CD-EF',LOCATE('-','AB-CD-EF') -1))As 'Reversed';
+-----------+
| Reversed  |
+-----------+
| EF-CD-AB  |
+-----------+
1 row in set (0.00 sec)