Главная страница
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.018 c
3-83405
tm
2003-04-25 08:55
2003.05.26
Есть ли преимущества у лок. БД (напр. Paradox) перед InterBase


3-83399
Ann
2003-05-06 15:55
2003.05.26
запрос


1-83483
Bel
2003-05-14 17:17
2003.05.26
MessageDlg в дополнительном потоке


3-83359
anpv
2003-05-06 09:10
2003.05.26
BLOB(JPEG)->Interbase


4-83829
Sliski Slimak
2003-03-25 14:51
2003.05.26
События при перемещении окна....