2012-05-22 30 views
0

我有類型爲VARCHAR一個表中的字段,其價值類似於如何使用MySQL的

  1. 紅首席-MEN-245棕94581
  2. 在現場檢查整數值阿迪達斯戰警阿戈拉-93945
  3. 兒童鞋

在這方面,我需要得到與連字符後跟整數EX( 「-94581」, 「-93945」)結束只值..

有沒有什麼辦法可以讓mysql得到這個

+1

U可以使用http://dev.mysql.com/doc/refman/5.1/en/string-functions.html#function_substring-索引從字符串尾部切割'X'字符 –

+0

究竟是什麼skowron行說+1 –

+0

@ skowron-line:那不檢查數字 –

回答

2

使用RLIKE運營商來代替LIKE。這應該工作:

SELECT * FROM table WHERE foo RLIKE '.*-[[:digit:]]*$' 
+0

這一個工作對我稍作修改SELECT * FROM表中的哪裏foo RLIKE'。* - [[:digit:]] {3,} $' – user1375126

+0

@ user1375126請參閱更新 - 我忘了'*'。 – robert

0

大概是這樣的:

select substr(searchfield,locate('_',searchfield)) as extractedfield from 
mytable where substr(searchfield,locate('_',searchfield)) > 0;