der zeitmäßig nächste Record in einer DB - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO) +---- Thema: der zeitmäßig nächste Record in einer DB (/Thread-der-zeitmaessig-naechste-Record-in-einer-DB) |
der zeitmäßig nächste Record in einer DB - gottfried - 16.01.2009 15:04 Und noch eine Frage, gegeben: eine Tabelle mit Messwerten und einem Zeitpunkt-Wert, also "16.1.2008 12:13:00" etc. So und jetzt komme ich mit einem völlig neuen Zeitpunkt (also nicht aus der Tabelle) und suche den am nächsten befindlichen Record. Als Array könnte man "interpolate Array.vi" nehmen um daraus den nächsten zu ermitteln. In der Datenbank fällt mir nichts anderes ein als eine Spalte einzuführen mit abs[Abstand zum jetzigen (neuen) Zeitpunkt] und dann danach zu sortieren und den kleinsten zu nehmen - ist vom Aufwand sicher .... schwach. Oder ich pfeife auf die DB, kaufe mehr Memory und mache das als Array. Bitte einen Denkanstoss Gottfried der zeitmäßig nächste Record in einer DB - Y-P - 16.01.2009 15:51 Spontan fällt mir auch nichts besseres als das ' schrieb:In der Datenbank fällt mir nichts anderes ein als eine Spalte einzuführen mit abs[Abstand zum jetzigen (neuen) Zeitpunkt] und dann danach zu sortieren und den kleinsten zu nehmen - ist vom Aufwand sicher .... schwach. ein. Eine Abfrage ob was in der Nähe liegt wüsste ich momentan auch nicht. Gruß Markus der zeitmäßig nächste Record in einer DB - cb - 16.01.2009 17:31 ' schrieb:Und noch eine Frage,Alle Messwerte seit "Dein_Zeitstempel": (ich geh jetzt einfach mal davon aus, dass deine Spalte mit dem Timestamp "time_stamp" heist ...) Code: SELECT * FROM tbl_messwerte WHERE time_stamp > Dein_Zeitstempel ORDER BY time_stamp ASC du willst nur 100 Messwerte haben? Code: SELECT TOP 100 * FROM tbl_messwerte WHERE time_stamp > Dein_Zeitstempel ORDER BY time_stamp ASC du willst nur EINE Zeile: Code: SELECT TOP 1 * FROM tbl_messwerte WHERE time_stamp > Dein_Zeitstempel ORDER BY time_stamp ASC geht alles mit SQL... der zeitmäßig nächste Record in einer DB - Y-P - 16.01.2009 18:31 Klar.... Gruß Markus ' schrieb:Alle Messwerte seit "Dein_Zeitstempel": (ich geh jetzt einfach mal davon aus, dass deine Spalte mit dem Timestamp "time_stamp" heist ...) der zeitmäßig nächste Record in einer DB - gottfried - 19.01.2009 09:46 Genial Danke der zeitmäßig nächste Record in einer DB - cb - 19.01.2009 11:35 ' schrieb:Genial Weil du noch einen anderen Thread dazu offen hast in dem es darum geht die Zeitstempel zu aktualisieren (in Pseudo-Code...): Code: UPDATE tbl_deinTabellenName SET deineZeitStempelSpalte = deineZeitStempelSpalte + ZeitUmDieGeändertWerdenSoll WHERE deineZeitstempelSpalte IS BETWEEN Startzeit AND Endzeit --> manipuliert den Wert deiner Timestamp-Spalte um den Wert den du vorgibst bei allen Zeilen bei denen der aktuelle Wert zwischen Startzeit und Endzeit liegt ... wobei du jetzt noch das Datums-Format für Access rausfinden musst, ich glaub das war irgendwas mit # und / und dann musst du noch rausfinden, was man addieren/subtrahieren kann (ob das Sekunden sind oder Bruchteile von Stunden oder so) da müsst ich nun selbst nachschaun und da bin ich grad zu faul der zeitmäßig nächste Record in einer DB - gottfried - 19.01.2009 17:20 Sorry - so geht das leider nicht. Nimm eine Tabelle und in (sagen wir) der ersten Spalte unregelmäßige Zeitpunkte als String - so, die muss ich umformatieren. Mit anderen Worten ich muss die Zeitpunkte einzeln (die ich nicht kenne) lesen, umformatieren und schreiben. Keine Info "wann" der nächst Zeitstring ist.... In der Tabelle gehe ich zur nächsten Zeile bis ich "unten" bin, aber in SQL... Inzwischen habe ich - sorry völlig unelgant - mit einem Read Spreadsheet 350.000 Zeilen gelesen und bearbeitet ... na ja... keine Ruhmestat Gottfried |