2013-12-10 41 views
2

我有一個整數字段有日期值,但我想將其轉換爲日期字段。我嘗試了幾種方法,但沒有成功。該字段具有日期值,但存儲爲整數。這是我已經嘗試過:如何將整數字段轉換爲Netezza中的日期?

cast(MYFIELD AS DATE) AS MYCOLUMN 

但我得到這個錯誤「不能投入類型INT4到日期」。
我已經做了幾項研究,但沒有找到netezza的好解決方案。

+0

是什麼日期的整數值是什麼樣子? – BWS

+0

這就是它的樣子:201004 – moe

+0

如何知道如何將該數字轉換爲日期?是否有一些標準需要遵循? – BWS

回答

1

您可以連接01,然後運行to_date

select to_date(201004||'01','YYYYMMDD') 
1

我不認爲這是你可以做的事情,至少沒有明顯的方式。人們可以用數百種方法將日期表示爲一個整數,所以轉換不會內置在int中。int類似於20120415或04152013或其他數百種格式,日期類似於'2012-04- 15' 我建議你看看How i can get the first 3 digits in 123456 Numbers in sql?的最佳答案並手動提取數據。你應該做什麼,但是將該字段轉換爲真正的日期字段並編輯依賴關係以期望該格式。