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 | ... |
+----+-----------------+
我想要 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 | ... |
+----+-----------------+