我正在尝试搜索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]%")
https://stackoverflow.com/questions/19777720
复制相似问题