我们如何反转由破折号连接的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)
猜你喜欢