2011-03-07 31 views
1

我正在使用Postgres後端,但它在理論上可能會更改爲MySQL(甚至是,MS SQL),所以我正在尋找一個通用的示例。在Active Record中,如何搜索以整數開頭的標題?

假設我有一個標題爲「標題」的專欄,其中包含視頻遊戲標題。如果我想查詢所有以數字開頭的那些的話,我用:

Games.where("title LIKE '0%' OR title LIKE '1%' OR title LIKE '2%' OR title LIKE '3%' OR title LIKE '4%' OR title LIKE '5%' OR title LIKE '6%' OR title LIKE '7%' OR title LIKE '8%' OR title LIKE '9%'") 

這當然可行,它可能會在任何關係數據庫管理工作,但看起來有點醜。使用Rails/AR 3有更好的方法嗎?

謝謝!

回答

1

使用強大的正則表達式。

Games.where("title REGEXP ?","^\\d") 

的更多信息:here

+0

將與任何後端SQL服務器這項工作?比如Postgres或甚至MS SQL?因爲這看起來不像有效的MS SQL語法。 – cbmeeks

+0

postgres的語法有點不同:http://www.regular-expressions.info/postgresql.html –

+1

**不適用於Postgres **;錯誤:'PG :: SyntaxError:ERROR:在「REGEXP」處或附近出現語法錯誤。 – Zorayr

相關問題