我將Stata(統計數據包)中的數據塊插入到Teradata數據庫中。我無法將日期和時間戳從Stata原生格式轉換爲Teradata。將數據插入Teradata時轉換日期和時間戳
Stata存儲自01/01/1960以來的日期,因此01jan1960爲0並且02jan1960爲1.時間戳記自01jan1960 00:00:00:00開始以毫秒爲單位存儲,因此1000爲01jan1960 00:00:01。這裏有一些例子:
timestamp Stata's tstamp date Stata's date
2015-04-13 03:07:08 1744513628000 2015-04-13 20191
2015-04-14 19:55:43 1744660543000 2015-04-14 20192
2015-04-08 11:41:39 1744112499000 2015-04-08 20186
2015-04-15 06:53:34 1744700014000 2015-04-15 20193
我試過2種方法。第一個涉及插入,然後一旦數據被插入做這樣的事情之前轉換日期/時間戳在Stata字符串:
ALTER TABLE mytable ALTER date_variable DATETIME
然而,我無法弄清楚如何從文檔做第二部分我已經搜索了各種論壇。
第二種方法是將日期和時間戳留爲整數,然後在插入整數後再進行一些轉換。也許我還可以在Stata預轉換日期TD的內部格式:
gen td_date = ((year(stata_dt)-1900)*10000 + month(stata_dt)*100 + day(stata_dt))
但是,我不知道對時間戳的公式是什麼。我也不知道如何做第二部分(使整數成爲日期/時間戳)。