sql >> Database teknologi >  >> RDS >> PostgreSQL

Almindelig måde at sammenligne tidsstempel i Oracle, PostgreSQL og SQL Server

Jeg er ikke en SQL Server-ekspert, men jeg ved, at dette virker på Oracle og Postgres, og jeg formoder, at det kan fungere på MSSQL, men jeg har ingen mulighed for at teste det ATM.

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

Eller hvis du bruger datotypen i stedet for tidsstemplet, kan du gøre dette, men jeg er ret sikker på, at det ikke ville fungere på MSSQL. Og DATE-typen er ret forskellig mellem Oracle og Pg.

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

Som det blev bemærket i kommentarerne til OMG Ponyer, kan du kun tilføje ints til datotyper og ikke tidsstempler. (Oracle afgiver tidsstemplet til dato)



  1. SQL LIKE-forespørgsel mislykkedes - fatal fejl i forberedt sætning

  2. Fejl:Kolonnen findes ikke

  3. Begræns SQL ved summen af ​​rækkens værdi

  4. Hvorfor beklager Oracle 10g sig ikke over kolonne-uklarhed?