SQL 中时间字符串相差 问题

来源:百度知道 编辑:UC知道 时间:2024/05/18 11:29:45
表中有两字段,SN 和Datetime,都是Varchar型,
如:SN:"12345678" Datetime: "04-05-2009 20:32:08"
想得到相同SN 的最大时间与最小时间相差小于10分钟的数据。

-----------------数据------------------------
insert into table_name values('001','04-05-2009 20:32:08');
insert into table_name values('001','04-05-2009 20:23:08');
insert into table_name values('001','04-05-2009 20:14:08');
insert into table_name values('002','04-05-2009 20:14:08');
insert into table_name values('002','04-05-2009 20:14:08');
insert into table_name values('002','04-05-2009 20:11:08');

-----------------SQL-------------------------
select a.sn,a.Datetime,b.sn, b.Datetime from
(select sn,max(Datetime) Datetime from table_name group by sn) a,
(select sn,min(Datetime) Datetime from table_name group by sn) b
where a.sn=b.sn and
abs(to_char(to_date(a.Datetime,'mm-dd-yyyy hh24:mi:ss'),'hh24miss')-to_char(to_date(b.Datetime,'mm-dd-yyyy hh24:mi:ss'),'hh24miss'))<to_char(0960);