Topic: Вычисляемое поле...

Друзья Всем приветики!!!  Кто подмогнёт...
Есть таблица "AAA" в ней поле "dates"(тип поля ДАТА) и Вычисляемое поле
в поле "dates" год рождения( 08.07.1976 )
Вопрос:
Что прописать в Вычисляемом поле, чтобы получить возраст (40 )...???
Заранее Благодарен!!!

Re: Вычисляемое поле...

Если используете SQLite, тогда выч. поле будет таким:

date('now') - dates + (case when strftime('%m-%d', 'now') < strftime('%m-%d', dates) then -1 else 0 end)
Dmitry.

Re: Вычисляемое поле...

ВАУ...!!!  СПАСИБО ДМИТРИЙ!!!

Re: Вычисляемое поле...

DriveSoft wrote:

Если используете SQLite, тогда выч. поле будет таким:

date('now') - dates + (case when strftime('%m-%d', 'now') < strftime('%m-%d', dates) then -1 else 0 end)

Что означает это выражение?
(case when strftime('%m-%d', 'now') < strftime('%m-%d', dates)

Re: Вычисляемое поле...

bemorhona-qt

(case when strftime('%m-%d', 'now') < strftime('%m-%d', dates) then -1 else 0 end)

здесь содержится условие, от которого зависит результат данного выражения.


если текущий месяц и день меньше чем месяц и день в поле dates, тогда выражение будет -1, иначе 0


смысл в том, чтобы правильно расчитать возраст, ведь возраст человека меняется не 1 января, у каждого своя дата рождения. Поэтому чтобы расчитать возраст, недостаточно просто отнять текущий год от года рождения.

Dmitry.

Re: Вычисляемое поле...

спасибо все понятно