首页 > 代码库 > SqlServer: datepart ,dateadd,datediff,dateName函数

SqlServer: datepart ,dateadd,datediff,dateName函数

SELECT DATEDIFF(YEAR,‘1992-11-28‘,GETDATE())               --求岁数,其中YEAR可以换成DAY MONTH

SELECT DATEPART(MONTH,GETDATE())                               --返回代表指定日期的指定日期部分的整数。如12

SELECT DATENAME(WEEKDAY,‘2014-11-12‘)                          --返回指定日期是周几,如星期一、

SELECT DATENAME(WEEKDAY,GETDATE())                           --返回当前日期是周几

SELECT DATENAME(WEEK,GETDATE())                                  --返回当前是本年的第多少周,如51


举例:

--查询student表中所有年龄大于20岁的男生的姓名和年龄
use teaching
go
select student.sname,DATEDIFF(YEAR,birthday,GETDATE()) as '年龄'
from student
where student.sex='男' and DATEDIFF(YEAR,birthday,GETDATE())>20


1. 当前系统日期、时间
select getdate()

2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值
例如:向日期加上2天
select dateadd(day,2,‘2004-10-15‘) --返回:2004-10-17 00:00:00.000

3. datediff 返回跨两个指定日期的日期和时间边界数。
select datediff(day,‘2004-09-01‘,‘2004-09-18‘) --返回:17

4. datepart 返回代表指定日期的指定日期部分的整数。
SELECT DATEPART(month, ‘2004-10-15‘) --返回 10

5. datename 返回代表指定日期的指定日期部分的字符串
SELECT datename(weekday, ‘2004-10-15‘) --返回:星期五

SqlServer: datepart ,dateadd,datediff,dateName函数