SQL Select:Timestamps vergleichen

Bernie87

Lt. Junior Grade
Registriert
Apr. 2011
Beiträge
350
Hallo zusammen,

ich kenne mich nur rudimentär mit SQL selects aus und hoffe hier auf eure Hilfe.

Wir haben eine MS SQL Datenbank in welcher die Zeit zum Zeitpunkt der Eintragung erfasst wird (ts_create_time) und eine Zeit in welcher die Daten wieder abgeholt werden (ts_upload). Jetzt möchte ich mir gerne alle Daten anzeigen lassen wo die ts create time von heute ist und die ts_upload 30 Minuten größer ist als die ts_create_time.

Angefangen bin ich mit:

Code:
SELECT TOP 1000  *
  FROM Tabelle1
  WHERE CAST(ts_create_time As date) = '16.05.2019'

Nur mit dem Vergleich der beiden Zeiten habe ich meine Problem ....

Kann mir da jemand helfen?
 
Hi,

so sollte es klappen:

SQL:
SELECT TOP 1000  *
FROM Tabelle1
WHERE CAST(ts_create_time AS DATE) = '20190516'
AND CAST(ts_upload AS DATETIME) > DATEADD(n,30,CAST(ts_create_time AS DATETIME))
 
Zuletzt bearbeitet:
Morgen,

Edit: zu langsam.

Ergo: Was die anderen sagen, DATEADD ist was du suchst. Es gibt auch DATEDIFF, würde aber wenn man es auf Genauigkeit abgesehen hat nicht dazu raten.
 
Zuletzt bearbeitet: (Antworten schon genannt)
@InkognitoGER Das wird fehlschlagen, weil Date keine Zeit enthält

@Maeddes Das aktuelle Datum spielt bei seinem Kriterium im Vergleich keine Rolle. Es geht allerdings um alle, die heute erstellt worden sind, was ja schon drin ist in seiner Query, wenn auch hardcoded.
Außerdem würde dein Query Zeilen zurückgeben, wo der Create Zeitstempel 30 Minuten in der zukunft liegt. Semantisch unwahrscheinlich
 
  • Gefällt mir
Reaktionen: Maeddes
@Crumar

Habe meine Antwort schon rausgenommen. War auch ein unüberlegter Schnellschuss, sorry. Hatte erst einen Kaffee und gelobe Besserung :)
 
Jungs ihr seit super... das war genau das was ich gesucht habe.
Vielen Dank!
 
Zurück
Oben