sql >> データベース >  >> RDS >> Mysql

RailsでActiveRecordを使用するときにRuby正規表現を指定するにはどうすればよいですか?

    1つの方法は

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

    ただし、MySQLバージョンほど効率的ではありません。

    もう1つの可能性は、名前付きスコープを使用して醜いSQLを非表示にすることです。

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

    次に、Job.all_digitsがあります 。

    2番目の例では、データベースのクエリをアセンブルしているため、regex_str 構文が少し異なるRuby正規表現オブジェクトではなく、MySQL正規表現文字列である必要があります。



    1. PDOで複数の行を挿入します

    2. mysql致命的なエラー:バッファプールにメモリを割り当てることができません

    3. 在庫管理データベースの設計

    4. エラー:DockerのAlpineにpsycopg2をインストールするときにpg_config実行可能ファイルが見つかりません