Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо