我一直在想出一些假想逻辑来弄清楚以下几点。如何快速找到匹配不同的字符串长度
我有一个表约十万条记录
的主键是ID,如
ID, col1, col2, col3
A3242X,,,
B323X,,,
A3242Y,,,
Y32YXX,,,
现在我有用户输入诸如A3242XABC123
和Y32
和... ...和
我的输出结果是找出表中的所有记录,其中 表中的ID以任何输入值开头或任何输入值都以任何值开始Id表。
在这种情况下,输出将是
A3242X (ID A3242XABC123 begins with this) and
Y32YXX (the input Y32 begins with this).
我的想法是,我会环路直通的输入值,比较,然后减去端炭....如
search_var=A3242XABC123;
Loop
select id from table where value = search_var;
if found exit;
search_var = substr(search_var, 0,length(search_var-1));
end;
- 基本循环直到找到值。
──为第二个方案中,我想我可以做somethign像
search_var[1] = A3242XABC123;
search_var[2] = Y32YXX;
for i = 1 to 2 loop
select id from table where id begins search_var;
add id to result array;
end;
我在寻找一种有效的方式来做到这一点。在大多数情况下,用户只能输入多达几十个ID。
你为什么标记所有这些语言,当你的问题应该是SQL只? – 2013-02-20 20:29:01
@Tim - 当然是关注的一声。 – Oded 2013-02-20 20:30:24
什么sql服务器? – ysth 2013-02-20 20:35:51