sql >> Databasteknik >  >> RDS >> PostgreSQL

Använda intervall i PostgreSQL med Ruby on Rails

Du var nära:

class CreateExamples < ActiveRecord::Migration
  def change
    create_table :examples do |t|
      t.column :duration_min, :interval
      t.column :duration_max, :interval
      t.timestamps
    end
  end
end

Användningsexempel:

Example.create duration_min: '2 hours', duration_max: '2 days'
#=> #<Example id: 1, duration_min: "2 hours", duration_max: "2 days", created_at: "2013-12-02 14:20:36", updated_at: "2013-12-02 14:20:36">
Example.where(%[TIMESTAMP ? - TIMESTAMP ? BETWEEN "duration_min" AND "duration_max"], DateTime.now, 10.hours.ago)
#=> #<ActiveRecord::Relation [#<Example id: 1, duration_min: "02:00:00", duration_max: "2 days", created_at: "2013-12-02 14:20:36", updated_at: "2013-12-02 14:20:36">]>


  1. Returnera operativsystemversionsinformation i SQL Server med vyn sys.dm_os_host_info Dynamic Management

  2. ORACLE APEX - Ställ in en knapp för att fylla i ett textfält

  3. SQL Server normaliseringstaktik:varchar vs int Identity

  4. Totalt löper över datumintervallet – fyll i de datum som saknas