Entwickler-Ecke
Datenbanken - SQL-Abfrage : Datum
dm - Do 24.10.02 13:13
Titel: SQL-Abfrage : Datum
Hallo,
ich möchte mit einer SQL Abfrage jene Datensätze selektieren, bei denen in der Spalte DATUM ein Wert steht, der kleiner als der 10.10.2002 ist.
SELECT * FROM Tabellenname WHERE Datum < 10.10.2002
So sieht mein Befehl aus, funktioniert aber leider nicht.
Hat jemand ne Idee ?
Gruß
Dennis
LCS - Do 24.10.02 13:26
Hi
| dm hat folgendes geschrieben: |
Hat jemand ne Idee ?
|
Ja! :D
Quelltext
1:
| SELECT * FROM Tabellenname WHERE Datum < '10.10.2002' |
Gruss Lothar
dm - Do 24.10.02 14:59
Danke für den Tip, hab inzwischen ne andere Lösung gefunden :
Bei mir hats mit SELECT ... WHERE DATUM < #dd/mm/yy# funktioniert.
Man muss also # setzen und zwischen Tag, Monat und Jahr keine Punkte, sondern Schrägstriche!
Klabautermann - Do 24.10.02 15:31
Hallo,
das Datum als String zu übergeben ist nach meiner Erfahtung immer Problematisch. Häufig (je nach Datenbanlk) hängt die benötigte Formatierung auch von den Aktuellen Windows-Ländereinstellungen ab. Deshalb ist es möglich, das deine Lösung bei dir funktioniert, aber auf dem Rechner des Endanwenders nicht mehr. Da solltest du mal mit den Ländereinstellungen spielen um das zu überprüfen.
Deshalb gehe ich immer über den Umweg der Parameter, damit die DB-Komponente die richtige Formatierung macht. Damit habe ich gute Erfahrungen.
Beispiel:
Quelltext
1: 2: 3:
| Query.SQL.Add('SELECT ... WHERE DATUM <:MaxDate'); Query.ParamByName('MaxDate').AsDateTime := now; Query.Open; // bzw. Query.Active := TRUE; |
Gruß
Klabautermann
LCS - Fr 25.10.02 07:50
| Klabautermann hat folgendes geschrieben: |
das Datum als String zu übergeben ist nach meiner Erfahtung immer Problematisch
|
Dem kann ich nur zustimmen :roll:, aber allgemein kann man in Deutschland schon ne deutsche Datumseinstellung voraussetzen.
| dm hat folgendes geschrieben: |
Bei mir hats mit SELECT ... WHERE DATUM < #dd/mm/yy# funktioniert.
|
Diese Schreibweise ist M$ spezifisch und funktioniert IMHO nur bei Access und M$-SQL.
Gruss Lothar
Alfons-G - Fr 25.10.02 17:16
Bei leistungsfähigen SQL-Dialekten (wie z.B. bei Oracle), kann man per SQL ein Datum mit einem übergebenen Formatstring umwandeln. Dieser sagt der Datenbank, welche Teile des Datum-Strings Tag, Monat und Jahr sind. So ist man von der Datumseinstellung im Betriebssystem unabhängig.
:idea:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!