SQLServer时间处理方法

本文介绍SQLServer中处理时间的关键函数,包括获取当前时间(getdate)、时间加减(dateadd)、时间部分(datepart)及时间差(datediff),并提供实例帮助理解。

在开发数据库应用中,经常会遇到处理时间的问题,如查询指定时间的记录等。下面就这些常见的问题,结合自己的一些经验,和大家探讨一下这类问题。
  首先介绍一下,SQL Server里处理时间的几个主要函数的用法:
  
   getdate()函数:取得系统当前的日期和时间。返回值为datetime类型的。
   用法:getdate()
   例子:
   select getdate() as dte,dateadd(day,-1,getdate()) as nowdat
   输出结果:
   dte nowdat
   --------------------------- ---------------------------
   1999-11-21 19:13:10.083 1999-11-20 19:13:10.083
  
   (1 row(s) affected)
  
   datepart()函数:以整数的形式返回时间的指定部分。
   用法:datepart(datepart,date)
   参数说明:datepart时要返回的时间的部分,常用取值year、month、day、hour、minute。
   date是所指定的时间。
   例子:
   SELECT DATEPART(month, GETDATE()) AS 'Month Number'
   输出结果:
   Month Number
   ------------
   11
  
   (1 row(s) affected)
  
   dateadd()函数:通过给指定的时间的指定部分加上一个整数值以返回一个新时间值。
   用法:dateadd(datepart,number,date)
   参数说明:datepart(同上)
   date(同上)
   number要增加的值,整型,可正可负,正值返回date之后的时间值,负值返回date
   之前的时间值
   例子:
   select getdate() as today
   select dateadd(day,-1,getdate())
   select dateadd(day,1,getdate())
   输出:
   today
   ---------------------------
   1999-11-21 19:42:41.410
  
   (1 row(s) affected)
  
   yesterday
   ---------------------------
   1999-11-20 19:42:41.410
  
   (1 row(s) affected)
  
   tomorrow
   ---------------------------
   1999-11-22 19:42:41.410
  
   (1 row(s) affected)
  
   datediff()函数:返回两个时间以指定时间部分来计算的差值。返回整数值。如1991-6-12和1991-6-21之间以天
   来算相差9天,1998-6-12和1999-6-23按年算相差1年,1999-12-1和1999-3-12按月算相差9个月
   用法:datediff(darepart,date1,date2)
   参数说明:datepart(同上)
   date1、date2(同上date)
   例子:
   select datediff(month,'1991-6-12','1992-6-21') as a
   输出:
   a
   -----------
   12
  
   (1 row(s) affected)

 

 

 

 

日期部分  缩写 
年份
yy、yyyy

季度
qq、q

月份
mm、m

每年的某一日
dy、y

日期
dd、d

星期
wk、ww

工作日
dw

小时
hh

分钟
mi、n


ss、s

毫秒
ms

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值