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

Běžný způsob porovnání časových razítek v Oracle, PostgreSQL a SQL Server

Nejsem odborník na SQL Server, ale vím, že to funguje na Oracle a Postgres a mám podezření, že to může fungovat na MSSQL, ale nemám způsob, jak to otestovat ATM.

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

Nebo pokud místo časového razítka používáte typ data, můžete to udělat, ale jsem si docela jistý, že by to na MSSQL nefungovalo. A typ DATE je mezi Oracle a Pg zcela odlišný.

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

Jak bylo uvedeno v komentářích pro OMG Ponies, můžete přidat pouze ints do typů data, nikoli časových razítek. (Oracle tiše odesílá časové razítko k dnešnímu dni)



  1. Zvládání uváznutí innoDB

  2. Jak upgradovat MySQL na CentOS

  3. Jak vytvořit parametrický dotaz v Accessu

  4. vypočítat hodiny na základě pracovní doby v Oracle SQL