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

Heroku Postgres-Fehler - Operator existiert nicht Zeitstempel ohne Zeitzone =Ganzzahl

Deine Parameter @monday und @friday sind falsch, diese müssen vom Typ "timestamp without time zone" sein, werden aber als Integer angelegt, siehe Fehlermeldung. SQLite hat keine datetime-Datentypen, daher werden Daten als Text oder Ganzzahlen (Unix-Zeitstempel) gespeichert. Deshalb erhalten Sie in SQLite keine Fehlermeldung.

Stellen Sie sicher, dass Sie Zeitstempel wie "2004-10-19 10:23:54" erstellen, und alles wird gut. Eine weitere Möglichkeit wäre die PostgreSQL-Funktion to_timestamp() Um Ihren Unix-Zeitstempel in einen Zeitstempel umzuwandeln:

@sent_emails = ContactEmail.all(:conditions => ['date_sent >= to_timestamp(?) and date_sent <= to_timestamp(?)', @monday, @friday])