2010-01-13 19 views
6

Sé que esto debería ser fácil y no lo hago probelmas en mySQL y Postgresql, pero estoy luchando con SQL Server. Quiero seleccionar filas con un campo datetimeoffset que tenga más de una hora de antigüedad.SQL Server selecciona donde datetimeoffset anterior a 1 hora

select * from table where mydatetime < getdate() - 1 hour 

He intentado con fecha y fecha pero no puedo hacerlo bien.

Respuesta

7
select * from table where mydatetime < dateadd(hh, -1, getdate()) 
+1

tener cuidado con eso, porque es una MyDateTime datetimeoffset que puede no estar en la misma zona horaria que el servidor. Si usa SYSDATETIMEOFFSET (u opcionalmente, use GETUTCDATE() y use SWITCHOFFSET en mydatetime para convertirlo a UTC), estará comparando manzanas con manzanas. – Josh

+0

Eso es correcto. –

Cuestiones relacionadas