select 最后一个字符的正则表达式

regular expression to select last but one character

我想要 MySQL 将检索字符串中最后一个字符的查询

EX:你好,RAM,SHIVU,RAJEEV

输出:l,A,V,E

我尝试了如下正则表达式

select * from tb_name where fn REGEXP "a$"

这将检索最后一个章程 "a",但我想要上面的输出。

你可以试试这个:

select  left(right(fn, 2),1) from tb_name

我不确定你想做什么。根据您的输出,我不得不说您不应该在 WHERE 子句上编写该正则表达式。实际上你不需要正则表达式。您可以使用 SUBSTR() 函数来实现预期结果:

/* tb_name
+--------+-----------------+
|   fn   | other column(s) |
+--------+-----------------+
| hello  |      ...        |
| RAM    |      ...        |
| SHIVU  |      ...        |
| RAJEEV |      ...        |
+--------+-----------------+
*/

mysql> SELECT SUBSTR(fn, -2, 1) fn FROM tb_name;

/* Output:
+----+-----------------+
| fn | other column(s) |
+----+-----------------+
| l  |      ...        |
| A  |      ...        |
| V  |      ...        |
| E  |      ...        |
+----+-----------------+