我有一个相互关联的Numbers列表:
000-1100-00
001-1100-00
000-1205-01
001-1205-01
001-1205-00
依此类推......
我需要一种数据结构或一种能够在上面应用过滤器的方法。
例如,如果必须在1205上过滤第二组数字,则数字将返回
001-1205-01
000-1205-01
001-1205-00
然后可以在第一个过滤器之后应用辅助过滤器,如果我过滤第三个数字01,那么返回的数字将是:
001-1205-01
000-1205-01
现在,可能有N个集合,因此它不仅仅是三个集合。但是,所有数字都将具有相同数量的集合,因此如果集合的数量为4,则它最终会看起来像:
123-11-22-54
我可以选择哪些选项?
如果我将上述列添加到SQL数据库中,如何在不使用动态SQL创建过滤器的情况下进行搜索?
如果没有通过SQL,是否有替代C#及其数据结构?
答案 0 :(得分:0)
您不需要动态SQL,但您需要知道自己在寻找什么。如果你想要在3的第二个位置1205,那么使用:
where numbers like '%-1205-%'
第三组使用:
where numbers like '%-1205-%' and numbers like '%-01'
或
where numbers like '%-1205-01'
这是关于构造用于比较的正确参数,而不是动态SQL。
在任何情况下,您问题的完整答案可能都是正则表达式。但是,这些实现是特定于数据库的,您不会提到您正在使用的数据库。