我有4个变量
@start_date date
@first_reminder_date date
@second_reminder_date date
@end_date date
我想检查它们是否按升序排列。 start_date也应该大于或等于当前日期。我的意思是它应该满足条件 -
getdate() <=@start_date <=@first_reminder_date <=@second_reminder_date <=end_date
最优化的方法是什么?
注意:所有日期变量也可以为空,即传递条件。 变量类型是日期。
答案 0 :(得分:2)
试试你需要的东西。这种简单的测试没有真正最优化的方法:
if ((getdate() <= @start_date or @start_date is null)
and (@start_date <= @first_reminder_date or @first_reminder_date is null)
and (@first_reminder_date <= @second_reminder_date or @second_reminder_date is null)
and (@second_reminder_date <= @end_date or @end_date is null)) then Begin ascending... End else Begin descending... End