2015-04-09 4 views
0

В TSQL, как можно рассчитать год рождения?Как рассчитать год рождения в SQL Server

Я пробовал датировать варианты, но безрезультатно.

Заранее благодарим за любые мысли.

+6

Что именно вы пробовали? Каков точный ввод и ожидаемый результат? – reto

+0

Как именно вы хотите рассчитать год рождения? С какими параметрами или значениями вы должны работать? – Tanner

+0

Если у вас есть возраст, тогда нет никакого способа узнать наверняка, если вы не знаете, был ли день рождения уже в этом году. В общем, сохранение возраста - плохая идея, потому что она меняется. Если вы вместо этого храните дату рождения (разумная вещь), то какой даже ваш вопрос? –

ответ

2

Если у вас есть только возраст, вы уже потеряли информацию. вы не можете точно знать год рождения. Это будет приближать Yob

dateadd(yy,-Age,CURRENT_TIMESTAMP) 

Вы могли бы немного улучшить точность этого предположения, пытаясь приспособиться к вероятности того, был ли человек был день рождения в этом году.

dateadd(yy,case when month(current_timestamp) <= 6 then 0 else 1 end-Age,CURRENT_TIMESTAMP) 

Вы хотите заменить CURRENT_TIMESTAMP в течение времени, которое было приобретено в возрасте Метрика, если вы ретро применения этого к существующему набору данных (при условии, что имеются данные).

Прежде всего, я бы рекомендовал изменить ваш процесс, чтобы, по возможности, зафиксировать дату рождения.

Смежные вопросы