日期:2014-05-17  浏览次数:20486 次

sql计算出时间差后如何再和其他字段比较呢?
我是这样写的:
select * from table where RetentionPeriod <(select datediff(month,eDate,GETDATE()) from table )
这样写报子循环的值不止一个,该如何修改呢?

------解决方案--------------------
select * from table where exists (select 1 from ( (select datediff(month,eDate,GETDATE()) diffTime from table )b where table.RetentionPeriod <b.diffTime )
------解决方案--------------------
select * from table where RetentionPeriod <datediff(month,eDate,GETDATE())

------解决方案--------------------
select * from table where RetentionPeriod < datediff(month,eDate,GETDATE())
------解决方案--------------------
不用这么复杂,直接这样就可以:

你的意思是不是,要查询小于当前日期和eDate之间相差的月是吧

select * from table where RetentionPeriod < datediff(month,eDate,GETDATE())