关于数据库记录查询
需要查询 注册日期在 1 个月之内 、1-3个月之内、半年之内 、1年以上
怎样写这个sql 语句?
注册日期字段名: U_SaveTime
sql = "select * from User_Reg_Info where "
希望大人们解答一下。
------解决方案--------------------getdate //获得系统当前日期
datepart //获取日期指定部分(年月日时分表)
具体怎么使用可以Google
------解决方案--------------------加几个判断,分别拿当前日期和数据库的日期减,判断在哪个时期范围
------解决方案--------------------给你思路:得到当前年月,
1.一个月以内注册的:那么时候必大于等于当前年月(2007-08-01 00:00:00)小于(2007-09-01 00:00:00)
其余类似可解决或写到存储过程中,只传入当前年月即可
------解决方案----------------------一个月内的数据
select * from User_Reg_Info where datediff(mm,U_SaveTime,getdate()) <=1
1 个月之内 、1-3个月之内、半年之内 、1年以上 的数据依次类推
------解决方案--------------------一个月内
select * from User_Reg_Info where datediff(m,U_SaveTime,getdate())=1
1-3个月之内
select * from User_Reg_Info where datediff(m,U_SaveTime,getdate())> 1 and datediff(m,U_SaveTime,getdate()) <3
半年之内
select * from User_Reg_Info where datediff(m,U_SaveTime,getdate()) <=1
1年以上
select * from User_Reg_Info where datediff(y,U_SaveTime,getdate())> =1
------解决方案--------------------sql = "select * from User_Reg_Info where
(datediff(month,字段,getdate()) <1) "
------解决方案--------------------dateiff正解
另外, 揭贴才是王道!