2016-02-01 29 views
0

我有如下記錄..MySQL的如何特殊字符後得到的數值在VARCHAR

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

我如何斜線後得到最合適的數值(1,2,10 ......)「 /「這些記錄? 如果您有PHP代碼自動重置每月的價值非常感謝。

非常感謝

+0

可能值得考慮值的含義,如果數據庫表d被標準化。乍一看,它似乎違反了第一個正常形式.. – user2864740

回答

0

假設你知道所有的記錄將在格式ABC/x/y會有/作爲分隔符,你可以使用explode()做這樣的事情:

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

echo $value[2]; 

注意,在這種情況下,explode()$record分爲三部分,ABC,29011610$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]. 
} 
+0

當我嘗試使用mysql調用$記錄時,我得到「Warning:explode()期望參數2爲字符串」錯誤。我如何獲得這個$記錄是一個字符串? – Auffan

+1

解決了:我做了 $ query = mysql_query(「bla bla bla」); $ record = mysql_fetch_array($ query); $ value = explode(「/」,$ record [0]); – Auffan

1

在MySQL中,你可以使用substring_index()

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

如果你想要這個數字:

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