sql datediff 计算时间差
博客专区 > lar555 的博客 > 博客详情
sql datediff 计算时间差
lar555 发表于2年前
sql datediff 计算时间差
  • 发表于 2年前
  • 阅读 131
  • 收藏 1
  • 点赞 0
  • 评论 0

【腾讯云】买域名送云解析+SSL证书+建站!>>>   

有关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。

enddate

请参阅 startdate。

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

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

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个月的订单。

代码如下:

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.

5、使用如下 SELECT 语句:

SELECT DATEDIFF(day,'2008-12-29','2008-12-30') AS DiffDate

结果:

DiffDate

1  

6、使用如下 SELECT 语句:

SELECT DATEDIFF(day,'2008-12-30','2008-12-29') AS DiffDate

结果:

DiffDate

-1   

 

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 7
博文 52
码字总数 38845
×
lar555
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: