Примечание: я отредактировал это для фиксации то, чему я верю, была значительная ошибка. В настоящее время отправляемая версия работает на меня.
Это должно работать после изменения имен полей и имен таблиц для соответствия базе данных.
SELECT
BRTHDATE AS BIRTHDAY
,FLOOR(DATEDIFF(dd,EMP.BRTHDATE,GETDATE()) / 365.25) AS AGE_NOW
,FLOOR(DATEDIFF(dd,EMP.BRTHDATE,GETDATE()+7) / 365.25) AS AGE_ONE_WEEK_FROM_NOW
FROM
"Database name".dbo.EMPLOYEES EMP
WHERE 1 = (FLOOR(DATEDIFF(dd,EMP.BRTHDATE,GETDATE()+7) / 365.25))
-
(FLOOR(DATEDIFF(dd,EMP.BRTHDATE,GETDATE()) / 365.25))
В основном, это получает # дней от их дня рождения до теперь и делит это на 365 (чтобы не округлять проблемы, которые подходят, когда Вы преобразовываете непосредственно в годы).
Тогда это получает # дней от их дня рождения до недели с этого времени и делит это на 365 для получения их возраста неделя с этого времени.
, Если их день рождения будет в течение недели, то различие между теми двумя значениями будет 1. Таким образом, это возвращает все те записи.
ответ @kris полезен для меня, любой хочет его в Objective C.
Вот код
-(void)viewDidLayoutSubviews{
[super viewDidLayoutSubviews];
[self sizeHeaderToFit];
}
-(void)sizeHeaderToFit{
UIView *headerView = self.tableView.tableHeaderView;
[headerView setNeedsLayout];
[headerView layoutIfNeeded];
CGFloat height = [headerView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height;
CGRect frame = headerView.frame;
frame.size.height = height;
headerView.frame = frame;
self.tableView.tableHeaderView = headerView;
}