sql datediff 计算时间差

有关datediff的相应信息,见如下:

 

DATEDIFF (datepart ,startdate ,enddate )
datepart

是指定所跨边界类型的 startdate 和 enddate 的一部分。下表列出了所有有效的 datepart 参数。用户定义的变量等效项是无效的。

datepart

缩写

year

yy, yyyy

quarter

qq, q

month

mm, m

dayofyear

dy, y

day

dd, d

week

wk, ww

hour

hh

minute

mi, n

second

ss, s

millisecond

ms

microsecond

mcs

nanosecond

ns

startdate

是一个表达式,可以解析为 time、date、smalldatetime、datetime、datetime2 或 datetimeoffset 值。date 可以是表达式、列表达式、用户定义的变量或字符串文字。从 enddate 减去 startdate。

为避免不确定性,请使用四位数年份。有关两位数年份的信息,请参阅two digit year cutoff 选项

enddate

请参阅 startdate。

 

 

1.返回相差两个季度时间得记录

代码如下:需要时,可以将时间字段改为数据库中相应的字段

ExpandedBlockStart.gif View Code
1  declare @startDateTime datetime
2  declare @endDateTime datetime
3  set  @startDateTime = ' 2011-01-01 '
4  set  @endDateTime = ' 2011-07-10 '
5  select DATEDIFF(QQ,@startDateTime,@endDateTime)

 

2.搜索最近3个月的订单。

代码如下:


ExpandedBlockStart.gif View Code
declare @startDateTime datetime
declare @endDateTime datetime
set  @startDateTime = ' 2011-05-01 '
set  @endDateTime = GETDATE()
select DATEDIFF(m,@startDateTime,@endDateTime)

 

3.返回第一单订单时间到最近的一单订单时间的 天数差。

 

 

select DATEDIFF(DAY,(select MIN(insDT) from OP_Order),(select MAX(insDT) from OP_Order))

 

4.使用GETDATE()函数来获得当前时间,

  若使用GetDate()+1,结果是在现在的时间上多添加一天。

如:

   GetDate():  2011-08-13 13:53:09.243

   GetDate()+1 :  2011-08-14 13:53:09.243

   如上,直接在时间的日上加1.


 

 

 

 

 

 

 

具体可参考:TechNet

              :datediff



 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值