使用mysql查询获取字符串的最后5个字符

41 mysql varchar

我必须使用mysql获取最后5个数字.

我的价值观是一样YOT-A78514,LOP-C4521...

我必须得到最后五个字符.我怎么能在查询中这样做?

小智 97

您可以使用RIGHT(str,len)函数执行此操作.返回字符串str中最右边的len个字符,

如下所示:

SELECT RIGHT(columnname,5) as yourvalue FROM tablename
Run Code Online (Sandbox Code Playgroud)


Juh*_*äki 15

"正确" - 函数是这样的,使用子字符串可能会导致一个不容易注意到的问题:

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)
Run Code Online (Sandbox Code Playgroud)

但是如果你不尝试超越字符串的开头,那么子串当然可以正常工作:

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


Ank*_*rma 7

Right是一个不错的选择,但你也可以substring这样使用 -

SELECT Substring(columnname,-5) as value FROM table_name
Run Code Online (Sandbox Code Playgroud)