So führen Sie eine SQL Server-Auswahl mit einem Zeitstempel abzüglich einer bestimmten Anzahl von Stunden durch

Translate

Im Moment habe ich eine SQL-Abfrage, mit der ich Einträge in einer Tabelle auswählen kann, die am letzten Tag eingefügt wurden.

Die Abfrage lautet:

Select account from mytable where create_date > current_timestamp - 1   

Aber nehmen wir an, ich wollte Einträge auswählen, die über die Basis zwei Stunden eingefügt wurden?

Wie würde ich diese Abfrage schreiben?

This question and all comments follow the "Attribution Required."

Alle Antworten

Translate

Sie können verwendenDATEADD, wie so:

SELECT account
FROM MyTable
WHERE create_date > DATEADD(hh, -2, GETDATE())
Quelle
Translate

Beachten Sie, dass sich ein Zeitstempel und eine Datums- / Uhrzeitangabe in SQL Server stark unterscheiden. Ein Zeitstempel ist eine eindeutige Binärzahl, während ein Datum / eine Uhrzeit eine Kombination aus Datum und Uhrzeit ist. Ich denke du brauchst datetime.

Quelle
Translate

Sie könnten es nach dem Vorbild von versuchen

Select account from mytable where create_date > current_timestamp - 0.083333333
Quelle
Über den Autor