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

一周,一月,一年没联系的客户查询条件SQL语句怎么写
一周,一月,一年没联系的客户查询条件SQL语句怎么写

注意不是本周本月本年

------解决方案--------------------
C# code
select * from table where datediff('d',时间列名,DateTime.Now)>1 //>1日
          select * from table where datediff('d',时间列名,DateTime.Now)>7 //>1周
          select * from table where datediff('m',时间列名,DateTime.Now)>1 //>1月
          select * from table where datediff('y',时间列名,DateTime.Now)>1 //>1年

------解决方案--------------------
SQL code

select * from [table] where datediff(day,[字段],getdate())>6 -- 时间差大于6 的为一周及以上
select * from [table] where datediff(month,[字段],getdate())>0  --一月
select * from [table] where datediff(year,[字段],getdate())>0  --一年

------解决方案--------------------
select * from [table] where datediff(day,[字段],getdate())> day(dateadd(dd,-1,dateadd(mm,1,dateadd(DD,-DAY(getdate())+1,getdate())))) 一月
------解决方案--------------------
SQL code

SELECT *,
    CASE WHEN DATEDIFF(DAY,[最后联系时间],GETDATE()) > 365 THEN '一年以上未联系'
         WHEN DATEDIFF(DAY,[最后联系时间],GETDATE()) > 30 THEN '一月以上未联系'    -- 按30天计,如果要按不同月份不同天数计,似乎没有必要
         ELSE '一周以上未联系'
    END
FROM [TABLE] WHERE DATEDIFF(DAY,[最后联系时间],GETDATE()) > 6