![]() |
|
|
![]()
|
|
| User |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 213 Регистрация: 5.11.2004 Репутация: нет Всего: нет |
Я сгенерировал по дате возраст клиента, Затем со временем как вы понимаете возраст может меняться и данные я собираюсь автоматически обновлять в БД. В Access я нашел такую возможность:
SELECT Year(Date()-aaa)-1900 from bbb bbb-таблица aaa-поле с датой но почему-то приходится еще 1900 отнимать Но проблема в том что у меня Paradox. Такое возможно проделать и для него. Что то не могу найти данного кода. А может как то еще можно обновлять возраст в зависимости от текущей даты? Если можно то примерчик подбрости? |
|||
|
||||
| Marriage |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 842 Регистрация: 4.5.2004 Где: Таганрог Репутация: нет Всего: 2 |
В оракле есть Sysdate. Попробуй, может прокатит.
-------------------- Praemonitus, praemunitus |
|||
|
||||
| Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 6 Всего: 55 |
А зачем в базе хранить возраст? Там надо хранить дату рождения. А возраст получать в запросе, как вычисляемое поле. Всегда будет актуальным
-------------------- Все знать невозможно, но хочется |
|||
|
||||
| DimW |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 5 Всего: 44 |
простыми словами мусор в БД некчему!!!
|
|||
|
||||
| User |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 213 Регистрация: 5.11.2004 Репутация: нет Всего: нет |
согласен. Вы правы. Спасибо за совет.
|
|||
|
||||
| User |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 213 Регистрация: 5.11.2004 Репутация: нет Всего: нет |
А все же почему Paradox не позволяет так обновлять?
SELECT Year(Date()-aaa)-1900 from bbb bbb-таблица aaa-поле с датой но почему-то приходится еще 1900 отнимать Может там есть что то другое? |
|||
|
||||
| Петрович |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 6 Всего: 55 |
В Paradox нет функций Year и Date.
В Accesse, как ты указывал ранее? Все очень просто. Предположим что Date() - возвращает 19.05.2005, а значение ааа равно 17.05.2004. Тогда результатом Date()-aaa будет 367 - число дней прошедших между датами. Но, поскольку функция Year интерпретирует свой аргумент как дату, то 367 будет рассматриваться как дата. Даты же в Access'е кодируются как число прошедших дней от 01.01.1900. Соответственно 367, соответствует дате 01.01.1901. Вот тебе и вся разгадка. А теперь, почему так делать нельзя Я не зря выбрал в примере дату 17.05.2004. Если бы я выбрал дату 18.05.2004, то посмотрим что получилось бы: Казалось-бы, если у человека день рождения 18.05.2004, то, 19.05.2005 ему уже один год. Но, по мнению Access, ему все еще 0 лет! Все потому, что 19.05.2005-18.05.2004 = 366 дней. А 366 соответствует 31.12.1900 - ведь 1900 год это високосный год! Вот и получится ошибочный результат. -------------------- Все знать невозможно, но хочется |
||||
|
|||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |