Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.26;
Скачать: CL | DM;

Вниз

IB работа с датой   Найти похожие ветки 

 
Apachi   (2003-05-06 07:48) [0]

Подскажите как вытащить год месяц день и прочее из поля типа дата в интежер
Спасибо :)


 
Zacho ©   (2003-05-06 07:54) [1]

1.С помощью UDF. Ссылки на различные библиотеки UDF смотри на http://www.ibase.ru/d_udf.htm
2. Хранимыми процедурами. Смотри http://www.ibase.ru/devinfo/DATETIME.TXT

P.S. В IB6 и выше, а также в FB и Yaffil есть функция EXTRACT


 
Taktic ©   (2003-05-06 08:04) [2]

нафига какието библиотеки и хранимые процедуры когда есть стандартная DecodeDate она все и делает


 
Zacho ©   (2003-05-06 08:07) [3]


> Taktic © (06.05.03 08:04)

Это на клиенте она есть. А в запросе ? В хранимой процедуре ?


 
Apachi   (2003-05-06 08:19) [4]

Спасибо екстракт работает :) теперь тока хелп на него наити


 
Apachi   (2003-05-06 08:22) [5]

Захо в условиях накладываемые на поля таблицы при ее создании
может еще подскажите как откат в тригере сделать наверное типа
ROLLBACK WORK щас поиду попробую


 
Taktic ©   (2003-05-06 08:23) [6]

да там она редко когда нужна...... хотя некоторые диалекты SQL поддерживают подобные функции...... в access чтото подобное можно делать
это я точно делал WHERE ((Month([BIRTHDAY])="10"))


 
Zacho ©   (2003-05-06 08:24) [7]


> Apachi (06.05.03 08:19)

Так у тебя все-таки не IB5.x, а как минимум 6.0 ?
А синтаксис очень простой: EXTRACT (PART FROM VALUE)
Например: EXTRACT (YEAR FROM ADATE) - извлечение года из переменной (значения поля) ADATE. Аналогично MONTH, DAY, ..


 
Zacho ©   (2003-05-06 08:29) [8]


> Apachi (06.05.03 08:22)
> Захо в условиях накладываемые на поля таблицы при ее создании

Не понял нифига :-)

> может еще подскажите как откат в тригере сделать наверное
> типа
> ROLLBACK WORK щас поиду попробую

Никак. Транзакции управляются с клиента. Если тебе просто нужно отменить в триггере текущую операцию (например в BEFORE INSERT - отменить вставку записи и т.п.) то просто вызови EXCEPTION

> Taktic © (06.05.03 08:23)
> да там она редко когда нужна......

Кому как. Например мне - часто.


 
Apachi   (2003-05-06 08:31) [9]



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);


 
Apachi   (2003-05-06 08:32) [10]

Так я не понял если вывалится из тригера то и ничего и не изменится
както неправильно это


 
Zacho ©   (2003-05-06 08:34) [11]


> Apachi (06.05.03 08:31)

А в чем вопрос то ?


 
Apachi   (2003-05-06 08:37) [12]

Ладно всем спасибо!!! Pervasive всеравно мне больше нравится хотя чуствуется IB круче


 
Zacho ©   (2003-05-06 08:40) [13]


> Apachi (06.05.03 08:32)

Почему не правильно ? Очень даже правильно.


 
Apachi   (2003-05-06 08:48) [14]

если бы я мог написать ROLLBACK WORK как в первасиве мне былобы спокойнее :) хотя да если правило не выполняется и тригер прегращает свою работу по какойто причине изменения надо отменять


 
Zacho ©   (2003-05-06 08:56) [15]


> Apachi (06.05.03 08:48)

Думаю, тебе полезно будет еще почитать http://www.ibase.ru/000703.htm - мотай страницу вниз, до заголовка "Технологические заметки"



Страницы: 1 вся ветка

Текущий архив: 2003.05.26;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
14-83694
Дмитрий К.К.
2003-05-06 06:26
2003.05.26
Именинники 6 мая


14-83745
Lola
2003-04-25 16:04
2003.05.26
---|Ветка была без названия|---


14-83698
Ksanka
2003-05-05 11:51
2003.05.26
Запуск виндового медиа плейера


6-83621
kkostik
2003-03-06 16:13
2003.05.26
Подключение сетевого диска!!!!!


1-83447
SVK
2003-05-14 15:00
2003.05.26
Delphi и СИМВОЛЫ WORD