Hallo zusammen,
ich habe folgendes Problem. Ich möchte mit einem SQL Kommando im C# Code ein Datum vergleichen. Ich benutze aber keine Access oder SQL Datenbank sondern einfach eine Excel Tabelle. Ich weiß nicht ob dies vielleicht schon der Grund ist warum es nicht klappt. Meine Excel Tabelle hat eine Spalte in der ein Datum in folgendem Format drin steht:
26. 02. 2010 13:34:55
Nun gibt in einem GUI ein Anwender ein Start und Enddatum ein und ich möchte alle Tabelleneinträge filtern, die zwischen diesen beiden Daten sind. string SQL_Statement = "SELECT * FROM [SheetName$] WHERE Datum ≥ '"+ datumBegin +"' AND Datum ≤ '"+datumEnd+"'";
Eigentlich ganz simple, dachte ich. Nun passiert folgendes
1. Szenario
Startdatum: 26. 10. 2010 00:00:00
Enddatum: 28. 2010 00:00:00
Einträge werden gefunden. Alles funktioniert
2. Szenario
Enddatum: 03. Sql datum vergleichen de. 03. 2010 00:00:00
Keine Einträge werden gefunden, obwohl sie vorhanden sind. 3. Szenario
Enddatum: 28. Alles funktioniert. Das heisst immer wenn der Tag des Endatums kleiner ist als der Tag des Startdatums funktioniert mein Vergleich im SQL Statement nicht mehr.
- Sql datum vergleichen de
Sql Datum Vergleichen De
Eine Übersicht über alle Datentypen zur Verfügung, gehen, um unsere komplette Datentypen Referenz. SQL Arbeiten mit Daten Sie können zwei Daten einfach vergleichen, wenn es keine Zeitkomponente ist beteiligt! Angenommen, wir haben die folgende "Orders" Tabelle:
OrderId
ProductName
OrderDate
1
Geitost
2008-11-11
2
Camembert Pierrot
2008-11-09
3
Mozzarella di Giovanni
4
Mascarpone Fabioli
2008-10-29
Jetzt wollen wir die Datensätze mit einer Auswahl OrderDate von "2008-11-11" aus der obigen Tabelle. Wir verwenden die folgende SELECT-Anweisung:
SELECT * FROM Orders WHERE OrderDate='2008-11-11' Das Ergebnis-Satz wird wie folgt aussehen:
Nehmen wir nun an, dass die "Orders" Tabelle sieht wie folgt aus ( man beachte die Zeitkomponente in der "OrderDate" Spalte):
2008-11-11 13:23:44
2 Camembert Pierrot 2008-11-09 15. Sql - So vergleichen Sie Datetime mit nur Datum in SQL Server. 45. 21 3 Mozzarella di Giovanni 2008-11-11 11. 12. 01 4 Mascarpone Fabioli 2008-10-29 14. 56. 59 Wenn wir verwenden die gleiche SELECT-Anweisung wie oben:
SELECT * FROM Orders WHERE OrderDate='2008-11-11' wir kein Ergebnis bekommen!
Der T- SQL DATEDIFF-Funktion ermöglicht es Ihnen, zwei Daten vergleichen und kehren den Unterschied zwischen ihnen in einer Vielzahl von unterschiedlichen Intervallen, einschließlich Jahre, Monate, Tage, Stunden, Minuten oder Sekunden. Um Chronologie zu überprüfen, können Sie auch die "zwischen" Option und prüfen Sie, ob ein bestimmtes Datum fällt zwischen zwei anderen. Sie können auch zwei Daten vergleichen mit der größer als, kleiner als und gleich Betreiber. Datum Datentypen Beginnend mit SQL 2008 unterstützt Microsoft Datenbanken Datentypen, die Ihnen das Datum und die Zeit separat speichern können. Wie nur Datum der Spalte mit Systemdatum vergleichen?. Andere Werte sind smalldatetime Datum, die eine kombinierte Datums-und Zeitwert, der keine Sekunde, datetime, die den Wert speichert mit einer Genauigkeit von bis zu 0, 00333 Sekunden und datetime2 mit einer Genauigkeit von 100 Nanosekunden speichert. < Br > Mit DATEDIFF DATEDIFF können Sie die Anzahl der Grenzen eines bestimmten Typs, die zwischen zwei Daten auftreten zurückzukehren. Erhältlich Abständen oder Grenzen, um zu überprüfen, sind Jahr, Quartal, Monat, Tag, Wochentag, Stunde, Minute, Sekunde und mehr.