2017-10-23 4 views
0

ich eine Tabelle von Daten und jede Zeile/Datensatz hat ein Startdatum und -zeit und Endtermin & Zeit wie unten gezeigt.SQL Query Start Time & Finish Zeit mit Exact Zeit

enter image description here

Ich möchte eine Abfrage ausführen können, die die Benutzer angezeigt, die online zu einer bestimmten Zeit waren, lässt sagen 2017.04.26 12.47.

Gehen Sie die folgenden Daten aus, die die Datensätze unten anzeigen würden.

enter image description here

Ich verstehe, wie die Datensätze zwischen dem Start Time wie unten und Finish Time zu finden, aber im Idealfall würde ich nur Ergebnisse, um danach zu finden, war hier zu einem bestimmten Zeit statt Startzeit > = und Fertigstellungszeit < =.

Macht das Sinn? Jede Hilfe würde sehr geschätzt werden.

SELECT [UserLogID] 
     ,[UserName] 
     ,[StartTime] 
     ,[FinishTime] 
     ,[Status] 
    FROM [FOO].[dbo].[BAR] 
    where StartTime <= '2017-04-26 12:50:00' and FinishTime >= '2017-04-26 12:55:00' 
+0

Sind Sie mit MySQL, MS SQL Server oder SQLite? Markieren Sie keine nicht betroffenen Produkte. – jarlh

+1

Die meisten Leute wollen hier formatierten Text, keine Bilder. – jarlh

+0

MS SQL ideal, ich habe Bilder verwendet, weil StackOverflow keine Tabellen erlaubt. Ich werde sicherstellen, dass zukünftige Beiträge formatierten Text verwenden. – bikerben

Antwort

1

Sie haben >= <= invertiert:

WHERE StartTime <= '2017-04-26 12:50:00' 
    AND FinishTime >= '2017-04-26 12:50:00' 
+0

Vielen Dank, dass Sie darauf hingewiesen haben. Ich habe die Frage aktualisiert, um dies zu berücksichtigen. – bikerben

+0

Wenn das nicht das Problem war verstehe ich nicht die Frage :(Auch verwenden Sie zwei verschiedene Zeit 12:50 und 12:55 Sie wollen mit einer Reihe oder mit einer einzigen Zeit vergleichen? –

+0

Dies ist ein Beispiel dafür, wie ich derzeit aber ich arbeite "Ich bin immer noch erforderlich, um die Spreu vom Weizen zu trennen. Ich würde im Idealfall gerne in der Lage sein, nur zu einem Zeitpunkt und nicht einen Bereich abzufragen. – bikerben