PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Speichern Sie das Zeitintervall in PostgreSQL von Rails

Ich glaube nicht, dass ein Intervall wirklich das ist, was Sie dafür wollen. Ein Intervall stellt eine Zeitspanne ohne bestimmte Endpunkte dar; Beispielsweise fügen Sie einer vorhandenen Zeit ein Intervall hinzu, um eine andere Zeit zu erhalten. Sie wären besser dran mit zwei unterschiedlichen Zeiten:

add_column :merchants, :order_from, :time, :null => false
add_column :merchants, :order_to,   :time, :null => false

Wenn Sie dann aus irgendeinem Grund wissen müssen, wie viele Stunden sie für die Lieferung geöffnet sind, können Sie ein Intervall konstruieren, indem Sie :order_from subtrahieren von :order_to .

Wenn Sie wirklich ein Intervall verwenden müssen, müssen Sie einen Wert wie diesen konstruieren:

:delivery_time => "interval '11 hour'"

Beachten Sie, wie dies zeigt, dass ein Intervall kein bestimmter Zeitbereich von A ist zu B , es ist nur ein Zeitbereich einer bestimmten Länge (ohne festgelegte Endpunkte).