VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1312|回复: 11

请问sql server怎样查询两个日期之间的数据?

[复制链接]

2

主题

9

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-2-1 06:00:02 | 显示全部楼层 |阅读模式
想要查询上个月29日到这个月28日的数据,搜索条件应该怎么写?
回复

使用道具 举报

0

主题

93

帖子

46.00

积分

新手上路

Rank: 1

积分
46.00
发表于 2020-3-12 10:30:01 | 显示全部楼层
select * from ta where date bewteen '2016-12-29 00:00:00'and '2017-01-28 23:59:59'
回复

使用道具 举报

0

主题

34

帖子

17.00

积分

新手上路

Rank: 1

积分
17.00
发表于 2020-3-12 10:45:01 | 显示全部楼层
where 日期〉=上月29日 and 日期<=本月28日??

回复

使用道具 举报

0

主题

126

帖子

73.00

积分

新手上路

Rank: 1

积分
73.00
发表于 2020-3-12 12:30:02 | 显示全部楼层
where 日期字段>='2016-09-29' AND 日期字段<'2016-10-29'
字段是日期类型,建议用>=\<


回复

使用道具 举报

1

主题

13

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
发表于 2020-3-12 14:00:02 | 显示全部楼层
嗯,我觉得楼上的都是正解,除非楼主还有别的想法
回复

使用道具 举报

0

主题

100

帖子

53.00

积分

新手上路

Rank: 1

积分
53.00
发表于 2020-3-12 15:15:02 | 显示全部楼层
select * from table where datefield>=cast(convert(char(8),dateadd(m,-1,getdate()),120)+'29' as datetime) and datefield<=cast(convert(char(8),getdate(),120)+'28' as datetime);
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-3-12 16:30:01 | 显示全部楼层
where datecolumn between '2002-10-29' and '2003-11-29'
大体意思是上面的,可能数据类型没有匹配好,搂主自己调整吧。
回复

使用道具 举报

1

主题

8

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-3-13 03:15:01 | 显示全部楼层
楼上的都是正解
回复

使用道具 举报

2

主题

9

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-3-14 12:30:01 | 显示全部楼层
楼上的正解,月份不是确定的,是当前月份。不好意思没说清楚。刚运行去了,呵呵。
如果跨年有办法解决么?今年的1月和去年的12月
回复

使用道具 举报

0

主题

211

帖子

108.00

积分

新手上路

Rank: 1

积分
108.00
发表于 2020-3-14 14:45:02 | 显示全部楼层
--try

select * from tbName
where colName>=dateadd(month, -1, convert(char(8), getdate(), 120)+'29')
and colName<convert(char(8), getdate(), 120)+'29'
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表