sql >> Databáze >  >> RDS >> PostgreSQL

heroku Chyba Postgresu - operátor neexistuje časové razítko bez časového pásma =celé číslo

Vaše parametry @pondělí a @pátek jsou chybné, musí být typu "timestamp without time zone", ale jsou vytvořeny jako celá čísla, viz chybová zpráva. SQLite nemá žádné datové typy datetime, takže data jsou uložena jako text nebo celá čísla (unix-timestamps). To je důvod, proč se vám v SQLite nezobrazí chybová zpráva.

Ujistěte se, že vytváříte časová razítka jako '2004-10-19 10:23:54' a budete v pořádku. Další možností by mohla být funkce PostgreSQL to_timestamp() pro převod vašeho unixového časového razítka na časové razítko:

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



  1. PostgreSQL a nodejs/pg, vrátí vnořený JSON

  2. SQLAlchemy JSON jako blob/text

  3. PDO::FETCH_CLASS s více třídami

  4. Mysql:více stolů nebo jeden velký stůl?