加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL输出在使用转换日期时仅获得最近7天的输出

发布时间:2020-12-12 06:26:07 所属栏目:MsSql教程 来源:网络整理
导读:我使用下面的SQL查询来获取过去7天表中的数据. SELECT * FROM emp WHERE date = (SELECT CONVERT (VARCHAR(10),Getdate() - 6,101)) AND date = (SELECT CONVERT (VARCHAR(10),Getdate(),101)) ORDER BY date 表中的数据也包含了去年的数据. 问题是我得到Date
我使用下面的SQL查询来获取过去7天表中的数据.
SELECT * 
FROM   emp 
WHERE  date >= (SELECT CONVERT (VARCHAR(10),Getdate() - 6,101)) 
       AND date <= (SELECT CONVERT (VARCHAR(10),Getdate(),101)) 
ORDER  BY date

表中的数据也包含了去年的数据.

问题是我得到Date列的输出为

10/11/2013
10/12/2012
10/12/2013
10/13/2012
10/13/2013
10/14/2012
10/14/2013
10/15/2012
10/15/2013
10/16/2012
10/16/2013
10/17/2012
10/17/2013

我不想要2012年的产量.请建议如何更改查询以获取今年最后7天的数据.

解决方法

而不是将日期转换为varchar并将varchar与varchar进行比较.将varchar转换为日期时间,然后比较该方式.
SELECT 
    * 
FROM   
    emp 
WHERE   
    convert(datetime,date,101)  BETWEEN (Getdate() - 6) AND Getdate() 
ORDER BY 
    date

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读