2013-11-25 40 views
0

我有一個系統將信息提供給我的數據庫到一個表(MESSAGE_COLLECT),它有3列;在MySQL中將字符串值解析爲單獨的字

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返回所有關鍵字的組合,而不包括hashtag,所以我可以循環到插入功能這個更新第二個表名爲MESSAGE_COLLECT_KEYWORD_INDEX

例如,第一個例子的結果(步行到#meeting檢查#Rick)應該是;

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

,其結果對第二個例子設置應該是:

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

就如何解決這一點的同時牢記消息在INTRF_MESSAGE長度是可變的,也是任何一個優秀的指針帶關鍵字的標籤數量。此外,情況並非總是如此,單詞之間只有一個空格。用戶可以創建一個類型,並在單詞之間添加兩個空格,這意味着該單詞不能用作單詞之間的唯一分隔符...

+0

可能最好是在應用程序級別處理該邏輯,假設可用。 – Strawberry

+0

@Strawberry同意你這樣從編碼的角度來看是最好的選擇,但它不是一個選項,因爲我不控制「餵食」應用程序,只將信息直接接收到數據庫中。只有這樣我才能對它採取行動......意思是......問題必須從數據庫中解決......這就是使得這一點更棘手的原因;-) –

回答