2012-10-11 62 views
0

我的問題是,我有一個人名和他們的成就的數據庫。現在,我有一些包含人名的段落。我需要從這些段落中提取名稱。應用程序的網絡端會將提取名稱的超鏈接附加到他們的活動中。從SQL Server獲取匹配名稱

數據在我的數據庫可能看起來像:

Name   | Achievement 
----------------------------------------        
Steve Jobs | Founder of Apple 
Bill Gates | Founder of Microsoft 

現在我有串狀:After saving up some money, Steve Jobs took off for India in the search of enlightenment.

我需要從上面的字符串找到Steve Jobs並添加超鏈接到。 任何想法如何做到這一點?

回答

0

SQL服務器真的不是這樣做的最佳地點,因爲一個超鏈接被定義HTML,但...

declare @s varchar(500) = 'After saving up some money, Steve Jobs took off for India in the search of enlightenment.' 

select 
    @s = REPLACE(@s, name, '<a href="#">'+name+'</a>')  
from yourtable 
where @s like '%'+name+'%' 
select @s 
+0

保存了我的一天。謝謝。但我的分貝大小非常大。有沒有優化的方法?或比SQL Server更好的技術? – Ranadhir

+0

如果你有非常大的數據庫,你可以使用SQL FULLTEXT Search而不是像 –

0

您應該以某種預先定義的格式保存您的數據,例如,您可以使用***開始&末尾的person name

節省了一些錢之後,***Steve Jobs***爲尋求啓示而在印度起飛。

然後你就可以找到***通過SQL

編輯提取人名:

我自己會盡量找一些其他的方式來做到這一點。例如,我將保存在不同的列中的人名。

+0

感謝您的答覆。但我無法編輯字符串。這來自新聞饋送。 – Ranadhir

+0

這些名稱本身在單獨的列中。立即看帖子。 – Ranadhir