Database 如何在数据库中创建组合两个或多个数字字符串的筛选器搜索

Database 如何在数据库中创建组合两个或多个数字字符串的筛选器搜索,database,filtering,Database,Filtering,我的问题不是关于程序代码,而是如何过滤数据库中的任何数字 我有过滤条件:例如,名字、姓氏、年龄、出生年份。使用年龄,我可以这样过滤: [Age] IN (29,30,41) 并且过滤器将产生列年龄等于以下各项之一的行:29,30,41 但是如果我想要结果,如何过滤,因为所有年龄段都有第一个数字2、3或5(预期结果是20、21…29、30…等等)。我需要一个简短的过滤器为这些,所以它可以适合在搜索窗口很好 搜索窗口仅接受条件分隔符和关键字:和/或[]不喜欢=。虽然我可以按[AGE]如“2%”或[

我的问题不是关于程序代码,而是如何过滤数据库中的任何数字

我有过滤条件:例如,名字、姓氏、年龄、出生年份。使用年龄,我可以这样过滤:

[Age] IN (29,30,41)
并且过滤器将产生列
年龄
等于以下各项之一的行:
29
30
41

但是如果我想要结果,如何过滤,因为所有年龄段都有第一个数字2、3或5(预期结果是20、21…29、30…等等)。我需要一个简短的过滤器为这些,所以它可以适合在搜索窗口很好

搜索窗口仅接受条件分隔符和关键字:
和/或[]不喜欢<>=
。虽然我可以按
[AGE]如“2%”或[AGE]如“3%”或[AGE]如“4%”进行筛选,但这太长,无法放入搜索窗口,如上所述


提前感谢

如果不了解搜索窗口背后的确切语言,回答您的问题并不容易。主要是因为不同的语言实现
LIKE
子句搜索的方式不同

例如,在postgresqlMySQL中,该语言使用通配符实现了
LIKE
子句作为模式搜索。这意味着,您确实不能像在示例中那样,将
条件放入模式本身。在通配符中,只能过滤固定模式

你能做的最接近的就是

[AGE] NOT LIKE '_'
这是相当棘手的

如果您对年龄
10、11、…、19也满意。您将收到所有10、11、12。。。结果呢

说明:

  • \u
    字符定义图案的长度,因此在本例中为1(年龄:1、2、3、…、9)
  • 与大多数SQL中的
    不同,它只返回在值中找不到模式的记录,因此在本例中,它返回多个字符的所有记录:)
如果由于某种原因,
10、11、…、19
不被接受,您仍然可以缩短查询,但如果查询适合搜索窗口,则可以延长一点:

[AGE] NOT LIKE '_' AND [AGE] NOT LIKE '1_'