簡體   English   中英

按以數字開頭的字符串排序 - ActiveRecord

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM