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

解决方案 »

  1.   

    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年
     
      

  2.   


    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  --一年
      

  3.   

    测试过select * from [table] where datediff(month,[字段],getdate())>0是上个月或以前未联系 不是一个月未联系
      

  4.   

    今天是2012-10-20select * from [table] where datediff(month,[字段],getdate())>0这一句查询出的是2012-10-1以前 我需要的是2012-9-21以前
      

  5.   

    暂时用select * from [table] where datediff(day,[字段],getdate())>30 一个月没联系select * from [table] where datediff(day,[字段],getdate())>365 一年没联系不知道有没更好的方法
      

  6.   

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

  7.   


    SELECT *,
    CASE WHEN DATEDIFF(YEAR,[最后联系时间],GETDATE()) >= 1 THEN '一年以上未联系'
     WHEN DATEDIFF(MONTH,[最后联系时间],GETDATE()) >= 1 THEN '一月以上未联系'
     ELSE '一周以上未联系'
    END
    FROM [TABLE] WHERE DATEDIFF(DAY,[最后联系时间],GETDATE()) > 6
      

  8.   


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