我的表table1
的列date_txt
其中包括2/16/2011 12:00:00 AM
- 列date_txt
是VARCHAR2 (250 Char)
。sql oracle更新日期
我的表table1
也有列date
這是一個DATE
。
我想 「更新」 我的領域:
最終的輸出應該是:
表1:
date
2/16/2011
所以從table1
date_txt
「日期」 和更新的需要作爲日期列date
。
任何想法?我是一個血腥的初學者。
我的表table1
的列date_txt
其中包括2/16/2011 12:00:00 AM
- 列date_txt
是VARCHAR2 (250 Char)
。sql oracle更新日期
我的表table1
也有列date
這是一個DATE
。
我想 「更新」 我的領域:
最終的輸出應該是:
表1:
date
2/16/2011
所以從table1
date_txt
「日期」 和更新的需要作爲日期列date
。
任何想法?我是一個血腥的初學者。
您可以使用Oracle的to_date function將字符串轉換爲日期:
update table1 set "date" = to_date(date_txt, 'MM/DD/YYYY HH:MI:ss AM')
謝謝 - 我不得不補充一點來解決我的問題: 'MM/DD/YYYY HH:MI:ss AM' – piguy
列date_txt包括2011/2/16 12:00 :00 AM
首先,日期沒有任何格式。你看到的是顯示目的很容易解釋日期值。
其次,你應該永遠不會將DATE存儲爲VARCHAR2。這是一個大問題和糟糕的設計。
既然您的設計不好,現在就解決它是個好主意。
遵循以下步驟:
我已經回答瞭如何做到這一點這裏https://stackoverflow.com/a/29625772/3989608
拿上TO_DATE函數http://www.techonthenet.com/oracle/functions/to_date.php – DSF
看看爲什麼存儲日期/時間varchar列?爲什麼要存儲兩次相同的數 – jarlh
@jarlh我從excel文件中導入了一個現在是varchar的日期,但我希望它在另一個列中作爲日期 – piguy