![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
IB работа с датой [IB5.x]
Apachi © (2003-05-06 07:48:00)Подскажите как вытащить год месяц день и прочее из поля типа дата в интежер
Спасибо :)
Zacho (2003-05-06 08:56:00) [1]
> Apachi (06.05.03 08:48)
Думаю, тебе полезно будет еще почитать http://www.ibase.ru/000703.htm- мотай страницу вниз, до заголовка "Технологические заметки"
Apachi (2003-05-06 08:48:00) [2]если бы я мог написать ROLLBACK WORK как в первасиве мне былобы спокойнее :) хотя да если правило не выполняется и тригер прегращает свою работу по какойто причине изменения надо отменять
Zacho (2003-05-06 08:40:00) [3]
> Apachi (06.05.03 08:32)
Почему не правильно ? Очень даже правильно.
Apachi (2003-05-06 08:37:00) [4]Ладно всем спасибо!!! Pervasive всеравно мне больше нравится хотя чуствуется IB круче
Zacho (2003-05-06 08:34:00) [5]
> Apachi (06.05.03 08:31)
А в чем вопрос то ?
Apachi (2003-05-06 08:32:00) [6]Так я не понял если вывалится из тригера то и ничего и не изменится
както неправильно это
Apachi (2003-05-06 08:31:00) [7]
ALTER TABLE OGMETR_SI_TBL ADD CONSTRAINT CHK_OGMETR_SI_1 check (INSPECTION_INTERVAL>0);
ALTER TABLE OGMETR_SI_TBL ADD CONSTRAINT CHK_OGMETR_SI_2 check (RELEASE_YEAR>0);
ALTER TABLE OGMETR_SI_TBL ADD CONSTRAINT CHK_OGMETR_SI_3 check (extract(year from EXPLOITATION_DATE)>=RELEASE_YEAR);
Zacho (2003-05-06 08:29:00) [8]
> Apachi (06.05.03 08:22)
> Захо в условиях накладываемые на поля таблицы при ее создании
Не понял нифига :-)
> может еще подскажите как откат в тригере сделать наверное
> типа
> ROLLBACK WORK щас поиду попробую
Никак. Транзакции управляются с клиента. Если тебе просто нужно отменить в триггере текущую операцию (например в BEFORE INSERT - отменить вставку записи и т.п.) то просто вызови EXCEPTION
> Taktic © (06.05.03 08:23)
> да там она редко когда нужна......
Кому как. Например мне - часто.
Zacho (2003-05-06 08:24:00) [9]
> Apachi (06.05.03 08:19)
Так у тебя все-таки не IB5.x, а как минимум 6.0 ?
А синтаксис очень простой: EXTRACT (PART FROM VALUE)
Например: EXTRACT (YEAR FROM ADATE) - извлечение года из переменной (значения поля) ADATE. Аналогично MONTH, DAY, ..
Taktic (2003-05-06 08:23:00) [10]да там она редко когда нужна...... хотя некоторые диалекты SQL поддерживают подобные функции...... в access чтото подобное можно делать
это я точно делал WHERE ((Month([BIRTHDAY])="10"))
Apachi (2003-05-06 08:22:00) [11]Захо в условиях накладываемые на поля таблицы при ее создании
может еще подскажите как откат в тригере сделать наверное типа
ROLLBACK WORK щас поиду попробую
Apachi (2003-05-06 08:19:00) [12]Спасибо екстракт работает :) теперь тока хелп на него наити
Zacho (2003-05-06 08:07:00) [13]
> Taktic © (06.05.03 08:04)
Это на клиенте она есть. А в запросе ? В хранимой процедуре ?
Taktic (2003-05-06 08:04:00) [14]нафига какието библиотеки и хранимые процедуры когда есть стандартная DecodeDate она все и делает
Zacho (2003-05-06 07:54:00) [15]1.С помощью UDF. Ссылки на различные библиотеки UDF смотри на http://www.ibase.ru/d_udf.htm
2. Хранимыми процедурами. Смотри http://www.ibase.ru/devinfo/DATETIME.TXT
P.S. В IB6 и выше, а также в FB и Yaffil есть функция EXTRACT