30.12.2009 15:34
shadow
 
помогите скрипт написать!
я не сильн осилен с преобразованиями дат, а оракле они в таком специфическом виде хранятся, что я не знаю как их модифицировать
воощем задача:
есть дейсвующие контракты. они все кончаются 31/12/2009.
надо все даты заменить скриптом на 31/12/2010
типа :

update supermag.SMContracts set SMContracts.EndSet={31/12/2010} where SMContracts.EndSet={31/12/2009}

но это неправильно конечно,а как правильо?
ПОМОГИТЕ!
30.12.2009 15:59
dmware
 
почему бы не так?
to_date('31.12.2010', 'DD.MM.YYYY')
30.12.2009 16:49
shadow
 
Я вот так сделал:
update supermag.SMContracts set SMContracts.EndSat=to_date('31.12.2010','DD.MM.YYYY')
where to_char(SMContracts.EndSat,'DD.MM.YYYY') ='31.12.2009' and SMContracts.Id='0447';
вроде отработало. но я визуально вижу что дата осталась старая
проверяю запросом:
select *
from supermag.SMContracts
where SMContracts.Id='0447';
показывает что дата изменилась!

а мои глаза говорят об обратном, глядя прямо в таблицу

наврное еще какаято команда должна быть после Update?
30.12.2009 16:56
shadow
 
Все ,нашел сам. не хватало:
commit;

все получилось.спасибо за подсказку. не серчайте за глупые вопросы ,просто не делал такого никогда.
Часовой пояс GMT +3, время: 04:32.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.