Получить ближайшую предыдущую дату T-SQL - PullRequest
0 голосов
/ 18 ноября 2010

Мне нужно выбрать ближайшую предыдущую дату к параметру даты. В настоящее время я выбираю ближайшую сторону с помощью этого кода:

SELECT TOP 1 equities, fund, e_date
        FROM tbl_assetmix
        WHERE fund = @fund_code
        ORDER BY ABS(DateDiff(dd, e_date, @statementdate)) asc

Я знаю, что это действительно просто, но кто-то может подсказать, как я смогу выбрать ближайшую дату до параметра @statementdate?

Спасибо, Тристан

1 Ответ

3 голосов
/ 18 ноября 2010

Выберите только строки, где дата предшествует @statementdate:

SELECT TOP 1 equities, fund, e_date
FROM tbl_assetmix
WHERE fund = @fund_code
AND e_date < @statementdate
ORDER BY ABS(DateDiff(dd, e_date, @statementdate)) asc

или замените

AND e_date < @statementdate

на

AND e_date <= @statementdate

, если день совпадаетдопускается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...