天天看点

MySQL 如何在可变长字符串中获得在特殊字符之后的数值(来自stackoverflow)

这是一道来自stackoverflow的提问(链接http://stackoverflow.com/questions/35122231/mysql-how-to-get-numeric-value-after-special-character-in-varchar)

我有一串记录,我该如何获得这串记录中斜线“/”之后的最右的数值(1,2,10),如果你有PHP代码可以自动重置月份数值,那真是太好了。

MySQL 如何在可变长字符串中获得在特殊字符之后的数值(来自stackoverflow)

回答:

假设你知道所有的记录都是A/x/y的形式,然后“/”总是作为特殊符号,那么你可以使用explode()

代码:

substring_index(): select substring_index(col,'/',-1) from t;

如果你想将得到的

t

变成数字

select substring_index(col,'/',-1)+1 from t;

第二个答案:

尝试下这个:

$str = "ABC/209116/1"; $replace_with = "0"; $str= substr(0,strrchr($str,"/")); $replace_with;