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

MySQL如何获取varchar中特殊字符后的数值,mysql,sql,numeric,Mysql,Sql,Numeric,我有以下记录 ABC/290116/1 ABC/290116/2 ABC/290116/10 如何从这些记录中获得斜杠“/”后最正确的数值(1,2,10,…)? 如果你有PHP代码自动重置的价值每月非常感谢 非常感谢假设您知道所有记录的格式都是ABC/x/y,并且会有/作为分隔符,您可以使用来执行以下操作: $record = "ABC/290116/10"; $value = explode("/", $record); echo $value[2]; $records

我有以下记录

ABC/290116/1    
ABC/290116/2    
ABC/290116/10
如何从这些记录中获得斜杠“/”后最正确的数值(1,2,10,…)? 如果你有PHP代码自动重置的价值每月非常感谢


非常感谢

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

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

echo $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].
}
注意,在这种情况下,
explode()
$record
分为三部分,
ABC
290116
10
<代码>$value[2]将获得第三部分

在将循环浏览多个记录的场景中,请执行以下操作:

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

echo $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].
}

在MySQL中,可以使用
子字符串\u index()

如果您想将其作为一个数字:

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

考虑该值意味着什么,以及是否应该规范数据库表是值得的。乍一看,它似乎违反了第一个正常形式..当我尝试用mysql调用$record时,我得到了“警告:explode()期望参数2是字符串”错误。如何使这个$record成为字符串?已解决:我做了$query=mysql_query(“bla-bla-bla”)$record=mysql\u fetch\u数组($query)$值=分解(“/”,$record[0]);