PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Stocker l'intervalle de temps dans PostgreSQL à partir de Rails

Je ne pense pas qu'un intervalle soit vraiment ce que vous voulez pour cela. Un intervalle représente un laps de temps sans points finaux spécifiques ; par exemple, vous ajoutez un intervalle à une heure existante pour obtenir une autre heure. Vous seriez mieux avec deux temps distincts :

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

Ensuite, si pour une raison quelconque vous avez besoin de savoir combien d'heures ils sont ouverts pour la livraison, vous pouvez construire un intervalle en soustrayant :order_from de :order_to .

Si vous devez vraiment utiliser un intervalle, alors vous devrez construire une valeur comme ceci :

:delivery_time => "interval '11 hour'"

Notez comment cela illustre qu'un intervalle n'est pas une plage de temps spécifique à partir de A à B , il s'agit simplement d'une plage de temps d'une certaine longueur (sans points de fin spécifiés).