我有一个充满纯文本的数据库。我想要一个查询来查找特定子词的类似单词。像建议或猜测的东西。
this is a database filled with data.
我要找的子词是da
。
现在查询的结果应该只是一列单个单词,如:
database
data
答案 0 :(得分:0)
首先,您需要找到符合' da'的行。您可以使用LIKE '%da%'
或REGEXP 'da'
之类的内容(请参阅this SO answer to know how to install REGEXP extension)。
然后你应该提取与你的模式相对应的单词' da'。这就是SQLite没有直接解决方案的地方。在其他DBMS中,您具有substring(string from pattern)
等功能(例如in PostgreSQL)。你在SQLite中没有这种功能。
您可以在与extension-functions.c或contribs中此this regexp operator for SQLite文件中的函数相同的基础上开发此类函数。但是在这里你不需要运算符但是需要返回匹配的函数。我还没有找到现有的扩展名。
也许你可以使用SQLite Full-Text Search extension标记符来提取你想要的单词。