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())