Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm thế nào để chỉ định Ruby regex khi sử dụng Active Record trong Rails?

Một cách là

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

nhưng nó sẽ không hiệu quả bằng phiên bản MySQL.

Một khả năng khác là sử dụng phạm vi được đặt tên để ẩn SQL xấu:

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

Sau đó, bạn có Job.all_digits .

Lưu ý rằng trong ví dụ thứ hai, bạn đang tập hợp một truy vấn cho cơ sở dữ liệu, vì vậy regex_str cần phải là một chuỗi regex MySQL thay vì một đối tượng Ruby Regex, có cú pháp hơi khác.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Biến không xác định:pdo, gọi hàm thành viên chuẩn bị () trên null

  2. lỗi ghi log4net trong ghi nhật ký cơ sở dữ liệu mysql

  3. Các phương pháp hay nhất với dữ liệu lịch sử trong cơ sở dữ liệu MySQL

  4. Tính toán decile từ tần suất trong MySQL

  5. Cách tính phần trăm hai cột trong MySQL