私がtrunc
関数をoracleで使用し、oracle developer
でクエリを実行すると、datetimeフィールドの日付値のみが取得されます。 Pythonで使用し、出力ファイルOracleの日付はPythonのdatetimeに変換されます
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に印刷されたクエリ以下の例
Select trunc(min(Transaction_Date)) as StartDate,
trunc(Max(Transaction_Date)) as EndDate
from table1
戻り
29-feb-2016 02-oct-2016
しかし、同じクエリの必要はです。それがなぜPythonでフォーマットを変えるのか不思議です。適切な解決策をお手伝いください
to_date(min(Transaction_Date),'YYYY-MM-DD')
を使用して試しましたが、出力が変わっていません。
OracleのDATE型は、フィールドYEAR、MONTH、DAY、HOUR、MINUTE、およびSECONDを持つタイムスタンプです。 2番目の解像度までしか正確ではないので、TIMESTAMPタイプもあります。 –
私はto_charが私の後にあると思います。 to_charを使用してto_dateを置き換えて、日付データ型ではなくなりました。 – kten