Наши дни оплаты зависят от клиента. Поскольку мне нужно отслеживать клиент за отчетный период, я бы хотел настроить параметры автоматически. Эта информация будет заполнять отчет.Определить окно на основе дня счета
Код Поставка жидкостных хроматографов не работает, но показывает, что я хотел бы достичь:
declare @BillDate int
set @BillDate = 18
if @billdate > DATEPART(dd, getdate())
select DATEPART(yyyy, getdate()) ++ DATEPART(mm,getdate()) ++ @BillDate --last bill date
else
select DATEPART(yyyy, getdate()) ++ DATEPART(mm,getdate())-1 ++ @BillDate --last bill date
Я также думал о добавлении в месяц с помощью dateadd()
, но я должен был бы изменить день часть дня, который я не уверен, как это сделать.
Есть ли общепринятый способ сделать это? Обе мои идеи в лучшем случае выглядят как хаки.
Редактировать/обновление: Я буду использовать это для фильтрации в ИНЕКЕ, так:
declare @LastBillDate date, @billday as int
select @billday = billdate from btable where customer = 'Cust'
--Define @LastBillDate here based on getdate() and @billday
SELECT *
FROM atable
WHERE starttime > @LastBillDate
образец данных и желаемых результатов будет лучше проиллюстрируйте то, что вы хотите достичь. –