首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

日期和时间函数

作者:  时间: 2011-06-17

返回当前系统日期和时间
Getdate()

select Getdate() //结果为:2011-06-17 09:01:00.293

返回表示指定日期的“日”、“月”、“年” 部分的正数
Day()、Month()、Year()

select day('1989-3-2')
select day(
'1989/3/2')
select day(
'3/2/1989') //结果为:2

返回给指定日期加上一个时间间隔后的新 datetime 值
Dateadd(datepart , number, date)
datepart:指定要返回新值的日期的组成部分。{year,quarter,month,dayofyear,day,week,weekday,hour,minute,second,millisecond}
number:用于与 datepart 相加的值。

select Dateadd(Month,1,'2011-6-17') //返回2011年6月17日下1个月的同一天
select Dateadd(Month,
1,'2011/6/17') //结果为2011-07-17 00:00:00.000

返回跨两个指定日期的日期边界数和时间边界数
Datediff(datepart , startdate , enddate)
datepart:指定应在日期的哪一部分计算差额的参数。{year,quarter,month,dayofyear,day,week,hour,minute,second,millisecond}

select Datediff(Month,'2011-6-17','2011-8-9') //结果为:2

返回表示指定日期的指定日期部分的字符串
Datename(datepart ,date )
datepart:是指定要返回的日期部分的参数。{year,quarter,month,dayofyear,day,week,weekday,hour,minute,second,millisecond}
weekday (dw,w) 日期部分返回星期几(如星期日、星期一等)。

select Datename(weekday,'2011-6-17') //结果为:星期五

返回表示指定日期的指定日期部分的整数
Datepart(datepart , date)
datepart:指定要返回的日期部分的参数。{year,quarter,month,dayofyear,day,week,weekday,hour,minute,second,millisecond}

select Datepart(Weekday,'2011-6-17') //结果为:6
weekday (dw) 日期部分返回与一周的某一天对应的数字,例如:Sunday = 1, Saturday = 7。
weekday 日期部分生成的数字取决于 SET DATEFIRST 所设置的值。这设置一周中的第一天。

返回表示当前 UTC 时间的 datetime 值
Getutcdate()
当前的 UTC 时间得自当前的本地时间和运行 Microsoft SQL Server 实例的计算机操作系统中的时区设置。
select Getdate() //结果为:2011-06-17 11:14:14.357
select Getutcdate() //结果为:2011-06-17 03:14:14.357