[英]Ordering by String that starts with Number - ActiveRecord
我正在構建 Rails 應用程序並嘗試通過以數字開頭的字符串列對數據庫中的記錄進行排序。
一開始如何按號碼訂購?
我寧願按 SQL 順序排序,也不願按 ruby 方法排序。 有什么辦法嗎?
expected order
1.record1
2.record2
10.record10
present order
1.record1
10.record10
2.record2
您可以order by
field + 0
排序以將field
的數據類型隱式更改為數字:
Model.order("field + 0 ASC")
# similar `string`.to_i in Ruby
# `1.record1` => 1
# `10.record10` => 10
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.