Find efficiently "greater" string in model attribute

How can I find efficiently the model Invoice with the greater code
(invoice attribute) when the code is a string like "1/10", "2/10",
"3/10" (without quotes) and where only the number before the slash
count? 1/10 < 2/10 < 3/10 < 11/10 < 12/10, etc...

Now I'm using:

  def after_initialize
    if self.new_record? and self.codigo.blank?
      max_codigo ={|f|
      if !max_codigo.nil?
        self.codigo = (max_codigo +
        self.codigo = "1/""%y")

but I think it is very inefficient.

If the 10 is the year then I would suggest storing the invoice number
(1,2,3) separately from the year. Then build the full string (1/10)
when you need it.
You may not even need the year code if there is a created_at field.