2010-07-12 28 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因为那里可能会有用处。

相关问题