2013-05-01 83 views
0

有沒有辦法更新日期類型的日期部分。例如,數據庫中的一行的值爲2013-11-22 [以YYYY-MM-DD格式存儲]。我想將其更新至2013-11-01。Oracle有沒有辦法更新日期,而不是月份,年

如果它是一行或幾行,我可以做一個簡單的更新。但真正的問題是,有大約十萬行不同的日期值。我想將所有日期更新到每個月的第一天。例如

 Actual What I would like it to be 
    2013-01-22 2013-01-01 
    1989-10-03 1989-10-01 
    2004-07-01 2004-07-01 
    2005-12-31 2005-12-01 

希望有任何幫助,我怎麼能通過SQL來完成這項工作。提前致謝。

回答

6

假設數據類型是日期,使用trunc

TRUNC(date_column, 'mm') 

Here is a sqlfiddle demo

+0

非常感謝你的工作。 – Chris 2013-05-02 08:58:36

+0

不客氣@Chris – 2013-05-02 09:50:57

2

是,可以使用將trunc()函數。

例如:

UPDATE thetable組DATEVALUE = TRUNC(DATEVALUE, 'MM');

+0

提高效率,... where datevalue> trunc(datevalue,'MM') – 2013-05-01 20:14:05

相關問題