2010-07-12 81 views
0

我已經表數據,如函數返回正則表達式一樣的preg_match返回數組MySQL的匹配PHP

 
ticketid | comments 
---------------------- 
1234  | > 
> Ticket ID:TT19027 
> 
> Ticket Title:report debug 
> 
> 
4567  |> 
> Ticket ID:TT19028 
> 
> Ticket Title:report debug 
> 
> 

我正在尋找一個函數或查詢將返回

 
ticketid | ticket_no_part_of_comments 
1234  | TT19027 
4567  | TT19028 

我能夠使用像條款

 
comments regexp 'Ticket ID:([0-9]*)'
但它只是返回1或0.

任何建議。

在此先感謝,的":"在評論欄 Anitha

回答

0

獲取substing。

您必須先獲得字符串":"後的字符。

mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', 2); 
     -> 'www.mysql' 
mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', -2); 
     -> 'mysql.com' 

更多有關字符串函數你可以找到在http://dev.mysql.com/doc/refman/5.1/en/string-functions.html#function_substr

您的解決方案是:

SELECT ticketid, SUBSTRING_INDEX(comments, ':', -2) as ticket_no_part_of_comments FROM your_table 
+0

感謝您的建議。但是這不適合我,因爲我不知道我正在查找的票證ID的長度,並且在評論字段中可能有很多':'。 – CodeTweetie 2010-07-12 11:09:58

0

你可以看看預浸用戶定義函數MySQL在the MySQL UDF site因爲那裏可能會有用處。

相關問題