sql >> Databáze >  >> RDS >> Mysql

Jak určit regex Ruby při použití Active Record v Rails?

Jedním ze způsobů je

Job.all.select{|j| j =~ /^\d+$/}

ale nebude tak efektivní jako verze MySQL.

Další možností je použít pojmenovaný rozsah ke skrytí ošklivého SQL:

  named_scope :all_digits, lambda { |regex_str|
    { :condition => [" invoice_number REGEXP '?' " , regex_str] }
  }

Pak máte Job.all_digits .

Všimněte si, že ve druhém příkladu sestavujete dotaz na databázi, takže regex_str musí to být řetězec regexu MySQL namísto objektu Ruby Regex, který má mírně odlišnou syntaxi.



  1. Zkopírujte tabulku MySQL včetně indexů

  2. zakázat NOTICES ve výstupu psql

  3. Kdy použít TEXT v mysql místo VARCHAR

  4. Jak zobrazit funkci, proceduru, spouští zdrojový kód v postgresql?