Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Datum aus MariaDB um 1 Tag verschoben

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Datum aus MariaDB um 1 Tag verschoben

    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      GreatEMU last edited by

      Hallo Leute

      Ich habe ein merkwürdiges Phänomen (oder einen Denkfehler) bei der Abfrage von Daten aus einer MariaDB-Tabelle.

      Folgender Hintergrund:
      Ich speichere Werte mit einem Zeitstempel (Format ISO) in einer MariaDB-Tabelle (Ver. 5).
      Über den SQL-Adapter setzen ich dann eine Abfrage ab, die mir meine Werte gruppiert nach Datum ausgibt.
      Das funktioniert soweit alles richtig, nur wir mir das Datum mit einem Versatz von 1 Tag ausgegeben.
      Wenn ich das SQL im phpMyAdmin absetze, stimmen auch die Datumswerte.

      Kennt jemand das Problem und hat eine Lösung ?

      Danke für den Support und viele Grüsse
      Oliver

      UncleSam 1 Reply Last reply Reply Quote 0
      • UncleSam
        UncleSam Developer @GreatEMU last edited by

        @greatemu Kannst du mal den ganzen Query hier posten?

        G 1 Reply Last reply Reply Quote 0
        • G
          GreatEMU @UncleSam last edited by

          @unclesam Hier mein Query:

          SELECT date(rateTS) rateDatum, (max(rate) - min(rate)) / min(rate) * 100 Quote 
            from ioBroker.Cry_AssetRates
            where ID = (Select ID from ioBroker.Cry_AssetsDef 
                                 where AssetShort = &1) 
              and date(rateTS) between subdate(CURRENT_DATE, 3) and subdate(current_date, 1) 
            group by date(rateTS)
          UNION 
          SELECT CURRENT_DATE rateDatum, AVG(rate) Quote 
            from ioBroker.Cry_AssetRates 
           where ID = (Select ID from ioBroker.Cry_AssetsDef where AssetShort = &1)
             and date(rateTS) >= subdate(CURRENT_DATE, 4)';
          

          Hier ein kleiner Auszug aus der Datenbank:
          1 2021-01-11 20:00:00 886.94601
          1 2021-01-11 21:00:00 864.40646
          1 2021-01-11 22:00:00 892.45925
          1 2021-01-11 23:00:00 911.08562
          1 2021-01-12 00:00:00 932.59806
          1 2021-01-12 01:00:00 956.29698
          1 2021-01-12 02:00:00 936.60696
          1 2021-01-12 03:00:00 932.34174
          1 2021-01-12 04:00:00 939.57242
          1 2021-01-12 05:00:00 955.15450
          1 2021-01-12 06:00:00 961.7661

          Im phpMyAdmin bekomme das Datumswerte (Stand 14.01.) den 11. bis 14.01.

          Und wenn ich dann im JavaScript über das ResultSet loope liefert er mit die Daten 10. bis 13.01

          1 Reply Last reply Reply Quote 0
          • First post
            Last post

          Support us

          ioBroker
          Community Adapters
          Donate

          755
          Online

          31.8k
          Users

          80.0k
          Topics

          1.3m
          Posts

          2
          3
          187
          Loading More Posts
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes
          Reply
          • Reply as topic
          Log in to reply
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
          The ioBroker Community 2014-2023
          logo