MySQL如何在varchar中的特殊字符后获取数值

时间:2016-02-01 02:36:01

标签: mysql sql numeric

我有以下记录..

ABC/290116/1    
ABC/290116/2    
ABC/290116/10

如何在斜杠" /"之后获得最正确的数值(1,2,10,..)从那些记录? 如果你有PHP代码自动重置,那么每月的价值会非常高兴。

非常感谢

2 个答案:

答案 0 :(得分:1)

在MySQL中,您将使用substring_index()

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

如果您想将其作为数字:

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

答案 1 :(得分:0)

假设您知道所有记录都采用ABC/x/y格式并且/为分隔符,您可以使用explode()执行以下操作:

$record = "ABC/290116/10";
$value = explode("/", $record);

echo $value[2];

请注意,在这种情况下,explode()会将$record分为三个部分:ABC29011610$value[2]将为您提供第三部分。

在您将循环浏览多个记录的情况下,请执行以下操作:

$records = array (
    "ABC/290116/1", "ABC/290116/2", "ABC/290116/10"
)

foreach($records as $record) {
    $value = explode("/", $record);
    // Do something with your $value[2].
}