sql >> Base de Datos >  >> RDS >> PostgreSQL

Forma común de comparar la marca de tiempo en Oracle, PostgreSQL y SQL Server

No soy un experto en SQL Server, pero sé que esto funciona en Oracle y Postgres y sospecho que puede funcionar en MSSQL, pero no tengo forma de probarlo en un cajero automático.

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

O si está utilizando el tipo de fecha en lugar de la marca de tiempo, podría hacer esto, pero estoy bastante seguro de que no funcionaría en MSSQL. Y el tipo de FECHA es bastante diferente entre Oracle y Pg.

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

Como se señaló en los comentarios de OMG Ponies, solo puede agregar entradas a los tipos de fecha, no a las marcas de tiempo. (Oracle emite silenciosamente la marca de tiempo hasta la fecha)