新手问题 ruby 数据库查找语句

xiaoxiao · 2013年06月02日 · 最后由 xiaoxiao 回复于 2013年06月02日 · 2633 次阅读

数据库的编码表有以下几个字段,code,name,num 等,其中 code 的类型是 string,只有两种,一种是两位的如 01,02,03 等,一种是四位的,如 0000,0001,0003 等,我怎么用 ruby 的 where 语句或 find 语句查找出所有 code 的长度是 2 位的所有记录。高手请指教,谢谢

我试了一下 Code.where(:code.length==2) 不行

#2 楼 @xiaoxiao 当然了,你看看终端输出的查询语句。1 楼的查询条件是直接作为查询语句传递到数据库的。

对,查询结果跟 Code.all 一样,难道就只能用 sql 语句查询了吗

where(code: ('00'..'99').collect{|a| a})

#4 楼 @xiaoxiao 这个需求就该是 sql 来搞定啊,或者你搞个字段存下这两种类型。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号