2013-05-01 2 views
0

Есть ли способ обновить дату в столбце типа Date. Например, строка в БД имеет значение 2013-11-22 [хранится в формате ГГГГ-ММ-ДД]. И я хочу обновить его до 2013-11-01.Oracle Есть ли способ обновить дату, а не месяц, год

Если бы это была одна или несколько строк, я мог бы сделать простое обновление. Но реальная проблема в том, что существует около сотни тысяч строк с разными значениями даты. И я хочу обновить все даты до 1-го числа каждого месяца. Например,

 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

+0

Добро пожаловать @Chris –

2

Да, вы можете использовать функцию TRUNC().

Например:

UPDATE множество DATEVALUE таблицы, с = TRUNC (DATEVALUE, 'ММ');

+0

для эффективности, ... где datevalue> trunc (datevalue, 'MM') –

Смежные вопросы