在MySQL中将字符串值解析为单独的单词

时间:2013-11-25 15:36:32

标签: mysql

我有一个系统将信息提供给我的数据库到一个表(MESSAGE_COLLECT),该表有3列;

INTRF_ID
INTRF_SOURCE
INTRF_MESSAGE

INTRF_ID列包含唯一值,INTRF_SOURCE包含一个标识符,用于指示接口来自哪个系统,INTRF_MESSAGE列包含自由格式文本消息。我当前面临的问题是,有必要在插入后立即分析INTRF_MESSAGE的内容,并使用此更新另一个表。

INTRF_MESSAGE中的消息包含的信息有点像推文,短消息包含由主题标签指示的关键字。例如;

*Walking to the #meeting to check with #Rick*

*All, the latest #slidedeck about #contracts is uploaded to our #fileserver*

我正在寻找的是一个查询(函数),它将返回与INTRF_ID组合的所有关键字而没有主题标签,因此我可以将其循环到insert函数中以更新名为MESSAGE_COLLECT_KEYWORD_INDEX的第二个表

例如,第一个例子的结果(走到#Meeting以#Rick检查)应该是;

INTRF_ID    KEYWORD
--------    ------
56326172    meeting
56326172    Rick

,第二个例子的结果集应为:

INTRF_ID    KEYWORD
--------    ------
76352517    slidedeck
76352517    contracts
76352517    fileserver

关于如何解决这个问题的任何好的指示,同时要记住INTRF_MESSAGE中的消息长度可以变化,以及带有关键字的主题标签的数量。此外,并不总是你在单词之间只有一个空格....用户可以创建一个类型并在单词之间添加两个空格意味着这不能用作单词之间的唯一分隔符...

1 个答案:

答案 0 :(得分:0)

我认为您需要编写数据库函数并使用正则表达式:http://dev.mysql.com/doc/refman/5.0/es/regexp.html