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

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

sql&дата [IB6.x]


bos ©   (2002-05-15 10:23:00) 

Здравствуйте мастера!
Подскажите как в cql-запросе подсчитать количество лет между двумя произвольными датами.


bos   (2002-05-15 15:46:00) [1]

Спасибо всем!


Val   (2002-05-15 11:23:00) [2]

в Local SQL это выглядело бы так:
SELECT * FROM CHILDREN
WHERE extract(YEAR FROM CURRENT_DATE) as CD-extract(YEAR FROM DATE_R) as DR < 3
поищите функции выделения в IB.


bos   (2002-05-15 11:05:00) [3]

хотелось бы для таблицы детей вывести всех, которым меньше например 3-х лет. Что-то вроде
SELECT * FROM CHILDREN
WHERE CURRENT_DATE-DATE_R < 3
Только в данном примере мы получим тех, которым меньше 3-х дней, а вот как с годами?
Если никак, то придется в Deelphi генерировать дату (3 года назад) и сравнивать с датой рождения, а это не так красиво и View не напишешь :(


Val   (2002-05-15 10:33:00) [4]

в шестом IB есть функции выделения дня, мес. и года из дат.
В зависимомти от задачи-если просто количество лет - то обыкновенное вычитание. Если без "обрезания", с месяцами и днями, то хп придется писать.


Desdechado   (2002-05-15 10:31:00) [5]

можно написать свою UDF, можно взять готовую на ib.demo.ru


Наверх

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