如何反轉由破折號連線的 MySQL 字串?


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)

更新於: 07-Feb-2020

65 次瀏覽

開啟你的職業生涯

完成課程,獲取認證

開始
廣告
© . All rights reserved.