7 votes

SQL Server select where datetimeoffset older than 1 hour (où le délai est supérieur à 1 heure)

Je sais que cela devrait être facile et je le fais sans problème avec mySQL et Postgresql mais j'ai du mal avec SQL Server. Je veux sélectionner des lignes dont le champ datetimeoffset date de plus d'une heure.

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

J'ai essayé dateadd et datediff mais je n'y arrive pas.

25voto

Josh Points 38617
WHERE mydatetime < DATEADD(hour, -1, SYSDATETIMEOFFSET())

Pour plus d'informations, voir : DATEADD (Transact-SQL)

8voto

Jonas Lincoln Points 4330
select * from table where mydatetime < dateadd(hh, -1, getdate())

0voto

CosmicStrobe Points 1

Si vous ne voulez pas utiliser dateadd(), vous pouvez utiliser l'horodatage actuel - #seconds

    SELECT * FROM `table` where `mydatetime` < (CURRENT_TIMESTAMP - 3600)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X