sql server 日期范围查询

比如表1中有三个字段,字段1是1字段2是2字段3是3字段4是记录添加时间的如果我想查询的结果为字段1=“456”且字段4记录添加的时间<2013年4月1日且>2013年3... 比如表 1 中有三个字段,字段1是1 字段2是2 字段3是3 字段4是记录添加时间的
如果我想查询的结果为 字段1 = “456” 且 字段4记录添加的时间<2013年4月1日 且 >2013年3月1日 该怎么写呀,麻烦您,先说谢谢了
展开
 我来答
大野瘦子
高粉答主

2019-11-10 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1227
采纳率:100%
帮助的人:34.5万
展开全部

SELECT * FROM 表明 WHERE 日期字段名 BETWEEN '20130101' AND '20130130'

或者:

SELECT * FROM 表明 WHERE 日期字段名 BETWEEN CONVERT(datetime,'2013-01-01',120) AND CONVERT(datetime,'2013-01-30',120)

扩展资料:

注意事项

在写按时间段查询的sql语句的时候 一般我们会这么写查询条件:

where date>='2010-01-01' and date<='2010-10-1'。

但是在实执行Sql时些语句会转换成这样:

where date>='2010-01-01 0:00:00' and date<='2010-10-1:0:00:00',再看这个条件的话,就会有些明白,那就是'2010-10-1 0:00:00' 之后的数据例如('2010-10-1:08:25:00')查不到,也就是说2010-10-1的数据查不到。

修改查询条件为:

where date>='2010-01-01' and date<='2010-10-1 23:59:59' 或 where date>='2010-01-01' and date<='2010-10-2'。

某个表某个字段是Datetime型 以"YYYY-MM-DD 00:00:00" 存放

badkano
推荐于2017-09-28 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885371
团长

向TA提问 私信TA
展开全部
你时间字段是啥类型的
datetime的吗?
主要你得告诉我你那个字段四的类型,有问题再帮你改吧,正常这么写就可

select * from 表1 where 字段1=456 and 字段4 between '2013-03-01' and '2013-04-01'
更多追问追答
追问

这样的应该是文本型吧

追答
哦,文本就这样
select * from 表1 where 字段1=456 and 字段4 between '2013-03-01 00:00:00' and '2013-03-31 23:59:59'

不好意思,看错了,是小于4月1号,之前那个写错了
来自:求助得到的回答
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式