我有以下的(我知道是语法不正确的,甚至是轴承的荒谬):CASE WHEN - 我做错了什么?
and lp.lease_current_stop_date
case when @lease_expiry_period = 01
then
between dateadd(MONTH, +1,
getdate())
else
between dateadd(MONTH, +2,
getdate())
我只是想知道这将是实现这一目标的最佳方式是什么?我正在试图做的是:
*当@lease_expiry_period等于01时,显示所有租约将从现在开始到期一个月。当@lease_expiry_period等于02则显示所有租约从现在到期长达两个月。*
性能注意
值得关注的是我并没有截断日期在我的例子为简单起见也。由于这是使用月getdate()应该是:
Dateadd(d,0,datediff(d,0,getdate()))
为了获得最佳性能。
+1。好一个。我用了一个计算机案例,但没有发布,因为你是整洁的。 – 2011-12-22 04:57:26
很干净。干得不错! – Codingo 2011-12-22 05:58:30
值得注意的是,为了简单起见,我并未在我的示例中截断日期。因为这是使用月getdate()应该也有Dateadd(d,0,datediff(d,0,getdate()))以获得最佳性能 – Codingo 2011-12-22 06:08:55