當我在oracle中使用trunc
函數並在oracle developer
中運行查詢時,我只從datetime字段獲得日期值。爲例如低於查詢Oracle日期轉換爲Python中的日期時間
Select trunc(min(Transaction_Date)) as StartDate,
trunc(Max(Transaction_Date)) as EndDate
from table1
返回
29-feb-2016 02-oct-2016
但相同的查詢在python使用並且打印到輸出文件
print("start",row[0])
print("end",row[1])
dateperiod=str(row[0]).strip() + " - " + str(row[1]).strip()
print("date period :", dateperiod)
輸出
('start', datetime.datetime(2016, 2, 29, 0, 0))
('end', datetime.datetime(2016, 10, 2, 0, 0))
('date period :', '2016-02-29 00:00:00 - 2016-10-02 00:00:00')
輸出I時需要是2016-02-29 - 2016-10-02
。不知道爲什麼它改變了Python的格式。請幫助正確的解決方案
嘗試使用to_date(min(Transaction_Date),'YYYY-MM-DD')
但奇怪的沒有輸出變化。
Oracle中的DATE類型是時間戳,具有字段YEAR,MONTH,DAY,HOUR,MINUTE和SECOND。它只能精確到秒,不具備亞秒級分辨率的能力,這就是爲什麼還有一個TIMESTAMP類型。 –
我認爲to_char是我所追求的。用to_char替換to_date,以便它不再是日期數據類型。 – kten