我有一个表,说tblName有字段和值
| ID | Name |
| 1 | Technical University |
| 2 | XYZ Lab Ltd. |
现在我必须将Name列与以下输入值匹配:
1- tech univ
2- tech universities
3- xyz Labs
我无法编写查询以从表中获取结果。
如果我将Name列与输入值tech univ或tech universions匹配,那么query应该从tblName响应result set Technical University。
请建议。
提前谢谢。
最佳答案
你可以做一件事把名字映射到不同的名字,比如
ID I_ID NAME
1 1 tech university
2 1 tech uni
3 1 tech univs
所以这个表将为您的搜索查询链接I\u ID是一个外键,它引用主表中的ID。我想这可以解决你的问题,你可以为一个名字定义几个名字。
此外,使用正则表达式可以提高效率,您必须为此开发一个自定义函数,尽管REGEXP的一般用法如下
SELECT id, name FROM tblName WHERE name REGEXP 'tech'
有关REGEXP的更多信息,请参考http://www.tutorialspoint.com/mysql/mysql-regexps.htm
关于mysql - 在数据库列上提前搜索,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26116101/