webentwicklung-frage-antwort-db.com.de

SQL Server: So wählen Sie Datensätze mit einem bestimmten Datum aus der Spalte datetime aus

Ich bin ziemlich neu in SQL und hoffe, dass mir hier jemand helfen kann: 

Ich habe eine Tabelle mit einer Spalte dateX, die als datetime formatiert ist und Standarddaten enthält. Wie kann ich aus dieser Tabelle alle Datensätze auswählen, bei denen dieses Datum ein bestimmtes Datum hat, z. 9. Mai 2014?

Ich habe folgendes versucht, aber das gibt nichts zurück, auch wenn ich mehrere Datensätze mit diesem Datum habe.

SELECT     *
FROM         dbo.LogRequests
WHERE     (CONVERT(VARCHAR(10), dateX, 101) = '09/05/14')

Bearbeiten: In der Datenbank sieht das obige Beispiel mit SQL 2012 wie folgt aus: 2014-05-09 00:00:00.000

Vielen Dank für jede Hilfe, Mike.

8
Mike

Der einfachste Weg ist die Konvertierung in ein Datum:

SELECT *
FROM dbo.LogRequests
WHERE cast(dateX as date) = '2014-05-09';

Oft schließen solche Ausdrücke die Verwendung eines Index aus. Laut verschiedenen Quellen im Internet ist das Obige jedoch nicht aufrufbar (dh es wird ein Index verwendet), wie this und this .

Ich wäre geneigt, aus Gewohnheit folgendes zu verwenden:

SELECT *
FROM dbo.LogRequests
WHERE dateX >= '2014-05-09' and dateX < '2014-05-10';
19
Gordon Linoff

Für perfekte DateTime Übereinstimmung in SQL Server

SELECT ID FROM [Table Name] WHERE (DateLog between '2017-02-16 **00:00:00.000**' and '2017-12-16 **23:59:00.999**') ORDER BY DateLog DESC
1
Ravi Shrimali

SELECT * FROM LogRequests WO gegossen wird (DatumX als Datum) zwischen '2014-05-09' und '2014-05-10';

0
Binitta Mary