Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: imp666 am April 15, 2011, 10:59:36

Titel: SQL Syntax
Beitrag von: imp666 am April 15, 2011, 10:59:36
mySQL Backend: Tabelle mit timestamp Feld

Benötige eine funktionierende SQL Query-Syntax für alle Datensätze die in den letzten 24 Stunden geändert wurden.

Habe es mit DatAdd("t";-1;Jetzt()) probiert, aber meine Vermutung ist, dass die Uhrzeit nicht mitberechnet wird.

Der timestamp Wert ist ja eigentlich nur ein Long-Wert, man müsste den doch eigentlich typecasten können und mit dem aktuellen "CLng(Timestamp)-60*60*24" vergleichen können? Und wenn ja, wie bekomme ich denn den aktuellen Timestamp als Long in Access VBA?
Titel: Re: SQL Syntax
Beitrag von: MzKlMu am April 15, 2011, 11:11:16
Hallo,
ZitatDer timestamp Wert ist ja eigentlich nur ein Long-Wert,
Nein, das ist der Datentyp Double. Vor dem Komma (die Ganzzahl) die Anzahl der Tage die seit dem 30.12.1899 vergangen sind. Nach dem Komma ist der dezimale Anteil eines Tages. 1h = 1/24.
Heute 15.4.2011 12:00 = 40648,5 als Double Zahl. Gestern die gleiche Zeit = 40647,5

Das heist, mit Tagen kannst Du ganz einfach rechnen.
>Jetzt()-1Als Kriterium.
In SQL:
SELECT Timstamp
FROM DeineTabelle
WHERE Timstamp>Now()-1
Titel: Re: SQL Syntax
Beitrag von: imp666 am April 15, 2011, 11:22:19
Danke, ich wusste doch, dass es irgendwie relativ einfach geht. Aber das ist ja absolut simpel, gefällt mir.

Also als Fazit: mySQL arbeitet mit Integer-Werten für einen Timestamp und Access mit Double Werten. ODBC konvertiert die Werte dann vermutlich passend.