请教关于sql日期处理的问题!!!
数据库 : sql2005
比如一件物品:进货时间1月31号 到期时间8月20
怎样才能使 当前时间到进货时间 在每次满一个月(准确)时间的时候就提醒用户(输出一条信息)。
我处理的时候: 直接得到当前时间到进货时间的天数。。。然后用天数/30
但是这样做是有问题的。。。。。因为每个月天数不一样。
希望得到更好的解决思路啊!!!1
------解决方案-------------------- select * from tb where day(getdate()) = day(进货时间)
------解决方案-------------------- select * from tb where day(getdate()) = day(进货时间)
select * from tb where datepart(dd,getdate()) = datepart(dd,进货时间)
------解决方案-------------------- 用“进货时间 + n个月 = 当前时间” 去判断
比如: dateadd(mm,3,'2012-02-01') = '2012-05-01'
------解决方案-------------------- 探讨 select * from tb where day(getdate()) = day(进货时间)
------解决方案-------------------- 钻石:
31号进货的,小月岂不是傻了?
------解决方案-------------------- 探讨 钻石: 31号进货的,小月岂不是傻了?
------解决方案-------------------- SQL code
select day(dateadd(month, datediff(month,进货时间,getdate()), 进货时间)) = day(getdate())
------解决方案-------------------- select * from tb where day(getdate()) = day(进货时间) --getdate()得到系统当前日期 --day(getdate())得到当前日期的号数,返回整形 --day(进货时间)得到进货日期的号数,返回整形 select * from tb where datepart(dd,getdate()) = datepart(dd,进货时间) --datepart(dd,getdate())得到当前日的号数,其中dd表示天,也就是返回号数 后面的同一个道理
------解决方案-------------------- 探讨 引用: SQL code select day(dateadd(month, datediff(month,进货时间,getdate()), 进货时间)) = day(getdate()) 这种方法也不对啊!! datediff(month,进货时间,getdate()),的时候。。如果是进货时间2012-01-31 而……