Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да посочите Ruby regex, когато използвате Active Record в Rails?

Един от начините е

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

но няма да бъде толкова ефективен, колкото версията на MySQL.

Друга възможност е да използвате именуван обхват, за да скриете грозния SQL:

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

След това имате Job.all_digits .

Имайте предвид, че във втория пример сглобявате заявка за базата данни, така че regex_str трябва да бъде MySQL низ за регулярни изрази вместо Ruby Regex обект, който има малко по-различен синтаксис.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Кое е най-доброто съпоставяне на MySQL за немски език

  2. Използване на TIMESTAMP на MySQL срещу директно съхраняване на времеви печати

  3. Метеор с mysql

  4. MySQL ОТПУСКА УНИКАЛНО ОГРАНИЧЕНИЕ

  5. Как да разберете размера на индексите в mysql (включително първичните ключове)