按日期选择最晚日期与最早日期对应的数的差值
更新时间:2009年11月09日 17:30:37 作者:
想得到当天的最早时间与最晚时间的number的差值,需要的朋友可以参考下。
表结构如下
number date
8 2009/1/11 2:00
7 2009/1/11 5:00
6 2009/1/11 12:00
5 2009/1/11 18:00
4 2009/1/12 4:00
3 2009/1/12 10:00
2 2009/1/12 12:00
1 2009/1/11 17:00
想得到当天的最早时间与最晚时间的number的差值, 即如下的结果:
差
2
3
create table #date
(
number int identity(1,1) primary key,
date datetime
)
insert into #date select '2009/1/11 17:00'
insert into #date select '2009/1/12 12:00'
insert into #date select '2009/1/12 10:00'
insert into #date select '2009/1/12 4:00'
insert into #date select '2009/1/11 18:00'
insert into #date select '2009/1/11 12:00'
insert into #date select '2009/1/11 5:00'
insert into #date select '2009/1/11 2:00'
select (d2.number-d1.number) number
from
(
select number,date from #date where date in
(select max(date) from #date group by convert(varchar(10),date,120) )
) d1
,
(
select number,date from #date where date in
(select min(date) from #date group by convert(varchar(10),date,120) )
) d2
where convert(varchar(10),d1.date,120)=convert(varchar(10),d2.date,120)
number
-----------
2
3
number date
8 2009/1/11 2:00
7 2009/1/11 5:00
6 2009/1/11 12:00
5 2009/1/11 18:00
4 2009/1/12 4:00
3 2009/1/12 10:00
2 2009/1/12 12:00
1 2009/1/11 17:00
想得到当天的最早时间与最晚时间的number的差值, 即如下的结果:
差
2
3
复制代码 代码如下:
create table #date
(
number int identity(1,1) primary key,
date datetime
)
insert into #date select '2009/1/11 17:00'
insert into #date select '2009/1/12 12:00'
insert into #date select '2009/1/12 10:00'
insert into #date select '2009/1/12 4:00'
insert into #date select '2009/1/11 18:00'
insert into #date select '2009/1/11 12:00'
insert into #date select '2009/1/11 5:00'
insert into #date select '2009/1/11 2:00'
select (d2.number-d1.number) number
from
(
select number,date from #date where date in
(select max(date) from #date group by convert(varchar(10),date,120) )
) d1
,
(
select number,date from #date where date in
(select min(date) from #date group by convert(varchar(10),date,120) )
) d2
where convert(varchar(10),d1.date,120)=convert(varchar(10),d2.date,120)
number
-----------
2
3
您可能感兴趣的文章:
- SQL Server 日期函数CAST 和 CONVERT 以及在业务中的使用介绍
- SQLserver中用convert函数转换日期格式的方法
- SQL Server 日期相关资料详细介绍
- sqlserver获取当前日期的最大时间值
- sqlserver中如何查询出连续日期记录的代码
- sql 查询本年、本月、本日记录的语句,附SQL日期函数
- Sqlserver 常用日期时间函数
- 根据日期知道当天是星期几的手动计算方法
- MSSQL 计算两个日期相差的工作天数的语句
- SQL Server自动生成日期加数字的序列号
- SQL 返回期间内的所有日期
- 数据库 日期加减处理
- sql语句中如何将datetime格式的日期转换为yy-mm-dd格式
- 在SQL中使用convert函数进行日期的查询的代码
- SQL Server日期计算
- SQL Server各种日期计算方法(收藏)
- SqlServer中的日期与时间函数
相关文章
SQL Server误区30日谈 第13天 在SQL Server 2000兼容模式下不能使用DMV
对于兼容模式已经存在了很多误解。80的兼容模式的数据库是否意味着能够附加或恢复到SQL Server 2000数据库?当然不是2013-01-01
最新评论