mysql查询当输入包含更多字符然后db列

时间:2016-01-07 05:45:48

标签: mysql ruby-on-rails

我正在尝试编写一个mysql查询,以便用户输入的搜索字符串是数据库中的值加上最多两个附加字符(来自0-5和a-b的子集)。

我最初使用mysql INSTR函数开始执行查询,这样我的查询就是这样的:

SELECT * FROM table WHERE INSTR(<user_input>, name) = 1;

但是这显然不会检查附加字符是什么,或者有多少,所以根据现有的行,它不会返回正确的值。如何编写查询来执行此操作?

例如,如果我的数据库中有以下行:

Name: ABCD
Name: LMNO
Name: A

如果用户发送ABCD或ABCD1,我希望它返回第一行(使用我最初使用的INSTR方法,它将返回第一行和最后一行),但如果它们发送A2B,它将返回最后一个。

1 个答案:

答案 0 :(得分:0)

使用
where '%'||field_name||'%' like ABCD1;

然后你选择最大长度。