首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对数据库列的预先搜索

问对数据库列的预先搜索
EN

Stack Overflow用户
提问于 2014-09-30 08:24:56
回答 3查看 66关注 0票数 1

我有一个表,比如tblName,它有字段和值

代码语言:javascript
复制
| ID  |     Name                 |

| 1   |     Technical University |

| 2   |     XYZ Lab Ltd.         |

现在,我必须将Name列与以下输入值匹配:

代码语言:javascript
复制
1- tech univ 
2- tech universities
3- xyz Labs

我无法从表中写入查询以获得结果。如果我将Name列与输入值、技术大学、或技术大学相匹配,那么查询应该从tblName响应结果集技术大学。

请建议一下。

谢谢你的进阶。

EN

回答 3

Stack Overflow用户

发布于 2014-09-30 08:32:34

嗯,您可以做一件事,将名称映射到不同的名称,例如

代码语言:javascript
复制
ID   I_ID    NAME
1     1      tech university
2     1      tech uni
3     1      tech univs

因此,这个表将是搜索查询的链接,I_ID是一个外键,它引用主表中的ID。我想这可以解决您的问题,您可以为一个名称定义多个名称。

此外,为了更有效地使用正则表达式,您必须为此开发一个自定义函数,尽管REGEXP的通用用法如下所示

代码语言:javascript
复制
SELECT id, name FROM tblName WHERE name REGEXP 'tech'

有关REGEXP的更多信息,请参考http://www.tutorialspoint.com/mysql/mysql-regexps.htm

票数 2
EN

Stack Overflow用户

发布于 2014-09-30 08:41:56

对于简单的情况,当需要匹配字符串开始时,可以使用

代码语言:javascript
复制
select * from table where field LIKE 'Hello %'

%符号是通配符。

但是,举个例子,我想看看一些全文索引解决方案,这些解决方案都是围绕mysql提供的。

在mysql中,我们使用Levenstein距离函数,您可以使用它构建自己的mysql并扩展mysql。

这里有一些例子,但我不知道它是否会起作用

https://github.com/jmcejuela/Levenshtein-MySQL-UDF

https://github.com/jmcejuela/Levenshtein-MySQL-UDF/blob/master/levenshtein.c

找到一个应该是纯SQL的

http://openquery.com.au/blog/levenshtein-mysql-stored-function

票数 0
EN

Stack Overflow用户

发布于 2014-09-30 09:00:52

测试一下它可能会有帮助

代码语言:javascript
复制
SELECT * FROM tblNAME WHERE Name LIKE "%name%";
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26116101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档