Wie ein Datum von einem SqlDateTime Objekt in Mathematica extrahieren
-
20-09-2019 - |
Frage
Ich versuche, eine Handlung einer Zeitreihe mit DateListPlot
zu tun. Ich will ihm eine Zeitreihe ich aus einer SQL-Datenbank erhalten füttern. Wenn ich die Zeitreihe der Liste abrufen besteht aus SQLDateTime
Einträgen dass DateListPlot
nicht versteht.
In[24]:= t=SQLExecute[conn, "select timestamp,value from timeseries order by timestamp asc"]
Out[24]={{SQLDateTime[{2010,1,1}],12.3},{SQLDateTime[{2010,1,2}],12.51}}
funktioniert nicht:
In[25]:= DateListPlot[t]
DateListPlot
erfordert ein Date Tupel und versteht nicht, SqlDateTime. Was kann ich tun?
Lösung
Die Antwort:
In[1]:= SQLDateTime[{2001, 5, 7}][[1]]
Out[1]:= {2001,5,7}
denkt Mathematica sehr von allem ähnlich intern. Was Sie als {1, 2, 3}
sehen, ist tatsächlich List[1,2,3]
. Die Part-Funktion (durch [[...]]
bezeichnet) funktioniert genauso gut auf jede Funktion, nicht nur List
.
Die schnelle und schmutzige Art und Weise dies in Ihrem Fall anwenden:
{#[[1,1]],#[[2]]}& /@ SQLExecute[...]