2015-05-29 564 views
2

我有一列存儲dat格式爲'YYYYMMDD'的字符。現在我想將它轉換爲真正的日期。 我試圖DB2從YYYYMMDD轉換爲日期

select cast (DATEFIELD as DATE) as MyDate 

但它只返回標註爲「DATE」老YYYYMMDD格式。我究竟做錯了什麼?

+0

是您在yyyy格式/ mm/dd或yyyymmdd? –

+0

格式是yyyymmdd – Chry007

+0

我不認爲你的查詢有任何問題,似乎沒關係 –

回答

2

SELECT TIMESTAMP_FORMAT("DATEFIELD",'YYYYMMDD') as "MyDate"

+0

是這一個爲我工作!非常感謝! – Chry007

-1

只需轉換它。

SELECT TIMESTAMP_FORMAT("DATEFIELD",'YYYYMMDD') as MyDate 
    FROM <your_table> 
+0

這個答案將會改變數據表,其中的問題是關於如何獲得數據列轉換的問題。 – Asha

+0

@Asha - 這個答案是正確的 – Hogan

+0

@Hogan:答案已經被編輯,因爲我的評論,請看看編輯。當發生Alter聲明時,我的通訊是相關的。 – Asha

-1

使用CONVERT功能和風格112得到輸出YYYYMMDD

SELECT CONVERT(DATEFIELD, 112) as MyDate 
FROM yourtable 

或樣式100mon dd yyyy hh:mi

SELECT CONVERT(DATEFIELD, 100) as MyDate 
FROM yourtable 
+0

我試過你的第二個建議,但我得到:沒有授權轉換命名具有兼容性的變量找到了SQL代碼:-440,SQL狀態:42884 – Chry007

+0

這是sql服務器不是db2 – Hogan

相關問題