SQL数据库中如何筛选某一个表中的时间字段的范围

例如:表a中的datetime字段都是‘2013-05-1113:10:00‘这种格式的我想筛选其中8:00到10:00之间的如何做补充:前面的年月日可能不一样... 例如:表a中的datetime字段都是‘2013-05-11 13:10:00‘这种格式的我想筛选其中8:00到10:00之间的如何做
补充:前面的年月日可能不一样
展开
 我来答
苏绿枝
2018-03-30 · TA获得超过2167个赞
知道小有建树答主
回答量:32
采纳率:0%
帮助的人:5.3万
展开全部

例如:表a中的datetime字段都是‘2013-05-11 13:10:00‘这种格式的,筛选其中8:00到10:00之间的。

select * from 表a
where substring(convert(varchar,字段名,120),12,8) between '08:00:00' and '10:00:00'

怎么利用SQL语句查询数据库中具体某个字段的重复行?

可用group by……having来实现。

可做如下测试:

1、创建表插入数据:

create table test

(id int,name varchar(10))

insert into test values (1,'张三')

insert into test values (2,'李四')

insert into test values (3,'张三')

insert into test values (4,'王五')

insert into test values (5,'赵六')其中name是张三的有两行,也就是重复行。

2、执行sql语句如下:

select * from test where name in 

(select name from test group by name having COUNT(*)>1)

badkano
推荐于2017-11-25 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144777 获赞数:885360
团长

向TA提问 私信TA
展开全部
select * from 表a
where substring(convert(varchar,字段名,120),12,8) between '08:00:00' and '10:00:00'

试试这样,看看结果对不
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xcs2073
2013-05-23
知道答主
回答量:46
采纳率:0%
帮助的人:8.7万
展开全部
SQL2005
数据表数据
b_1 b_2(datetime)
1 2013-05-23 10:44:46.780
2 2013-05-23 10:44:48.090
3 2013-05-23 10:44:49.857
4 2013-05-23 10:44:50.700

select b_1,b_2 from bb where b_2>'2013-05-23 10:40:45' and b_2<'2013-05-23 10:44:50'

查询结果:
b_1 b_2
1 2013-05-23 10:44:46.780
2 2013-05-23 10:44:48.090
3 2013-05-23 10:44:49.857
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
景琪家园
2013-05-23
知道答主
回答量:38
采纳率:0%
帮助的人:18.7万
展开全部
首先 把所有的 转换成 日期类型,之后用日期 所对应的函数,BETWEEN AND 即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e30231722
2013-05-23 · TA获得超过178个赞
知道小有建树答主
回答量:145
采纳率:0%
帮助的人:133万
展开全部
select * from a where datedepart(hh,datetime)>=8 and datedepart(hh,datetime)<10
追问
我想到的也是这样但是这样不能精确到分钟!同样也谢谢你!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式