2012-06-21 19 views
3

我在AI聊天bot上工作。 我需要sql查詢來選擇數據庫中的用戶輸入和文本最匹配的單個行。 (也匹配百分比> 80%)如何編寫sql查詢以獲取與數據庫中數據最匹配的數據

例如: 「你好」和「你好!」 ,「你好嗎」和「你好嗎?」,「你叫什麼名字?」和「笏是你的名字?」

我的目的是在文書錯誤的情況下得到答案。在此先感謝和我的英語水平

博特LINK遺憾:http://developersland.net/chatbot/jessica.html

+0

哪個RDBMS? MySQL,SQL Server,Oracle? – MatBailie

+0

你可以使用where youcol獲得前兩個條件,像%yourtext%,但對於最後一個我不這麼認爲,你可以通過查詢來完成。 –

+0

我的數據庫是mySql –

回答

1

在谷歌搜索一個編輯距離algoritm地執行(如this),然後

select text 
from mytable 
where levenshtein_ratio(text, 'text_to_compare') > 80 
limit 1 
+0

謝謝你的作品! –

+0

你能幫我嗎? http://stackoverflow.com/questions/11151581/error-while-using-user-defined-functions-mysql –

+0

我不掌握MySQL,但是我相信有人會幫你... –

相關問題