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

Gängige Methode zum Vergleichen von Zeitstempeln in Oracle, PostgreSQL und SQL Server

Ich bin kein SQL Server-Experte, aber ich weiß, dass dies auf Oracle und Postgres funktioniert, und ich vermute, dass es auf MSSQL funktioniert, aber ich habe keine Möglichkeit, es ATM zu testen.

AND creation_date < (CURRENT_TIMESTAMP - interval '5' day)
AND creation_date >= (CURRENT_TIMESTAMP - interval '15' day)

Oder wenn Sie den Datumstyp anstelle des Zeitstempels verwenden, könnten Sie dies tun, aber ich bin mir ziemlich sicher, dass es auf MSSQL nicht funktionieren würde. Und der DATE-Typ unterscheidet sich ziemlich zwischen Oracle und Pg.

AND creation_date < CURRENT_DATE - 5
AND creation_date >= CURRENT_DATE - 15

Wie in den Kommentaren zu OMG Ponys angemerkt wurde, können Sie Date-Typen nur Ints hinzufügen, keine Zeitstempel. (Oracle setzt den Zeitstempel stillschweigend auf das Datum)