bir SQLDateTime nesnesinden bir tarih ayıklamak nasıl DateListPlot
ile bir zaman dizisi bir çizim yapmaya çalışıyorum. Bir SQL veritabanından aldığım bir zaman serisini beslemek istiyorum. Zaman serisini aldığımda, liste DateListPlot
'un anlamadığı SQLDateTime
girişlerinden oluşur. Mathematica
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}}
In[25]:= DateListPlot[t]
DateListPlot
bir tarihi tuple gerektirir ve SqlDateTime anlamıyor. Ne yapabilirim?
O 'SQLExecute [...]/'böyle bir şey yapmak daha verimli ve net olabilir. SQLDateTime [l _]:> l' veya 'SQLExecute [...] /. SQLDateTime nesnelerinin birden çok sütununa sahip olduğunuzda SQLDateTime -> Identity '. Ayrıca, "DateListPlot", tamsayı Unix tarzı zaman damgalarını anlar, böylece 'AbsoluteTime' ile 'SQLDateTime', 'AbsoluteTime' ile değiştirebilir, çünkü 'AbsoluteTime [{timespec ...}] 'size bir zaman damgası verir. –
Bunlar mükemmel cevaplardır. Teşekkürler Jefromi ve Michael! – andrewz
Evet, hızlı ve kirli dedim. Bir kural kullanmak kesinlikle daha net ve kod miktarı açısından daha verimlidir. Genelde daha hızlı bir kural olup olmadığından emin değilim, çünkü her şeyi araştırması gerektiğinden, verilerinizin yapısını biliyorsanız, bu gibi bir şeyi kullanabilirsiniz. SQLDateTime'ın oluştuğunu biliyorsunuz. – Cascabel