【发布时间】:2013-11-15 15:53:00
【问题描述】:
我正在尝试搜索 A0001、A0002、A1234、A2351 等系列中的最大数字...问题是我正在搜索的列表中也有字符串,例如 AG108939、E092357、AL399、 22-30597等...
所以基本上,我想要我的数据库中的最高 A#### 值。我正在使用以下查询:
@max_draw = Drawing.where("drawing_number LIKE ?", "A%")
在 AG309 等数字开始出现问题之前,它一直有效,因为它以 A 开头,但格式与我正在寻找的不同。
我假设这对于正则表达式应该非常简单,但我是新手,不知道如何使用正则表达式正确编写此查询。以下是我尝试过的一些只返回 nil 的方法:
@max_draw = Drawing.where("drawing_number LIKE ?", /A\d+/)
@max_draw = Drawing.where("drawing_number LIKE ?", "/A\d+/")
@max_draw = Drawing.where("drawing_number LIKE ?", "A[0-9]%")
【问题讨论】:
标签: ruby-on-rails activerecord sqlite expression