if($birthDate='')
then ''
else year-from-date(xs:date(local-date()))-year-from-date($birthDate)
-(if(month-from-date($birthDate) > month-from-date(xs:date(local-date())))
then 1
else (if(month-from-date($birthDate) < month-from-date(xs:date(local-date())))
then 0
else (if(day-from-date($birthDate) > day-from-date(xs:date(local-date())))
then 1
else 0
)
)
)
Возможно, можно как-то сделать это проще, но я пока способа не нашел. Вычитание дат дает результат типа xs:dayTimeDuration вместо xs:yearMonthDuration, из которого было бы удобно извлечь число лет. А вот по числу дней число лет определить очень сложно из-за високосных годов.
Комментариев нет:
Отправить комментарий