2011-03-08 125 views
2

我是sql loader的新手,我遇到了日期格式問題。Oracle sql loader日期格式問題

下面是輸入文件記錄樣品:

Y,1525039510,HTTP-192.168.2.2,15-01-2011 00:00:032:728,64
Y,1525131958,HTTP-192.168。 2.2,15-01-2011 00:00:033:613,75

我遇到第四列日期有問題。

我現在的場條目是這樣的:

start_time DATE "DD-MM-YYYY HH:MI

我如何分析輸入032的最後部分:728(秒和毫秒)

我試圖SSS:FF3和SS。 FF3,沒有運氣。

+0

您確定要將數據加載到DATE列而不是TIMESTAMP嗎? TIMESTAMP可以存儲毫秒,DATE不能。假設你想擺脫毫秒,爲什麼有三秒鐘的數字?你能在該領域的比賽中真正擁有59秒以上的成績嗎? – 2011-03-08 16:54:12

+0

ss.FF應該做的工作 – 2011-03-08 16:57:27

+0

@Justin洞穴:爲什麼有3秒的數字?我希望我知道,問問給我輸入文件的那個人! – 2011-03-08 16:59:49

回答

2

您可以將輸入視爲一個字符串並使用函數對其進行轉換。像這樣的東西應該工作:

start_time CHAR to_date(substr(:start_time, 1, 20), 'dd-mm-yyyy hh24:mi":0"ss') 

我,因爲他們不是DATE數據類型(to_date無法識別FF格式)的一部分砸毫秒部分。

2

您可以將其讀入時間戳字段。數據看起來有點奇怪:15-01-2011 00:00:033:613,75但轉換格式應該是dd-mm-yyyy hh [24]:mi:0ss:fff,ff 確保你的nls設置如預期。

羅納德。