Mysql
 sql >> Base de données >  >> RDS >> Mysql

Obtenir les 5 derniers caractères de la chaîne avec la requête mysql

La fonction "correcte" est la solution, l'utilisation de la sous-chaîne peut entraîner un problème qui n'est pas si facile à remarquer :

mysql> select right('hello', 6);
+-------------------+
| right('hello', 6) |
+-------------------+
| hello             |
+-------------------+
1 row in set (0.00 sec)

mysql> select substring('hello', -6);
+------------------------+
| substring('hello', -6) |
+------------------------+
|                        |
+------------------------+
1 row in set (0.00 sec)

Mais si vous n'essayez pas de dépasser le début de la chaîne, alors la sous-chaîne fonctionne bien :

mysql> select substring('hello', -5);
+------------------------+
| substring('hello', -5) |
+------------------------+
| hello                  |
+------------------------+
1 row in set (0.00 sec)