函数返回mysql中的正则表达式匹配,如php中的preg_match返回数组

时间:2010-07-12 10:29:10

标签: mysql regex

我用

这样的数据表
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

2 个答案:

答案 0 :(得分:0)

在评论栏中取代":"

您必须在第一个":"字符后获取字符串。

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

答案 1 :(得分:0)

您可以在the MySQL UDF site上查看MySQL的preg用户定义函数,因为那里可能会有一些有用的东西。