1.获取系统当前日期函数GETDATE()
GETDATE()函数用于返回当前数据库系统的日期和时间,返回值的类型为datetime。
SELECT GETDATE()
2.返回UTC日期的函数GETUTCDATE()
UTCDATE()函数返回当前UTC(世界标准时间)日期值。
SELECT GETUTCDATE()
3.获取天数的函数DAY
DAY()函数用于返回指定日期是一个月中的第几天,范围从1到31。
SELECT DAY(GETDATE())
SELECT DAY('2014-11-30')
4.获取月份的函数MONTH
MONTH()函数返回指定日期中月份的整数值。MONTH 返回的值与 DATEPART (month, date) 所返回的值相同。
SELECT MONTH(GETDATE())
SELECT MONTH('2014-11-30')
5. 获取年份的函数YEAR
YEAR()返回一个整数,它表示指定 date 的年份。
SELECT YEAR(GETDATE())
6. 获取日期中指定部分字符串值的函数DATENAME
返回表示指定 date 的指定 datepart 的字符串
SET DATEFIRST 1 --设置星期一为第一天,系统默认是星期天为第一天
DATENAME ( datepart , date )
其中datepart参数取值为:
datepart | 缩写 |
---|---|
year(年) | yy或yyyy |
quater(季度) | qq或q |
month(月) | mm或m |
week (一年第几个星期) | wk或ww |
weekday (星期几) | dw |
day (日) | dd或d |
dayofyear(一年中的第几天) | dy或d |
hour(小时) | hh |
minute (分) | mi或n |
second (秒) | ss或s |
millisecond (毫秒) | ms |
microsecond(微秒) | mcs |
nanosecond (纳秒) | ns |
SET DATEFIRST 1 --设置星期一为第一天,系统默认是星期天为第一天
SELECT DATENAME(WEEKDAY, GETDATE())
--返回"星期一"
SELECT DATEPART(WEEKDAY, GETDATE())
--返回数字1
7. 获取日期中指定部分的整数值的函数DATEPART
返回表示指定 date 的指定 datepart 的整数。
DATEPART( datepart , date ),参数和DATANAME一致,一个返回字符串,一个返回整数。
SELECT DATEPART(YEAR, GETDATE())
SELECT DATEPART(MONTH, GETDATE())
SELECT DATEPART(WEEK, GETDATE())
SELECT DATEPART(WEEKDAY, GETDATE())
8. 计算日期和时间的函数DATEADD
将指定 number 时间间隔(有符号整数)与指定 date 的指定 datepart 相加后,返回该 date。其中number可以为负数。
DATEADD (datepart , number , date )
datepart取值和上述一致。
SELECT DATEADD(MONTH, 1, GETDATE())
--现有时间加上一个月即下个月
SELECT DATEADD(MONTH, -2, GETDATE())
--现有时间减去两个月即返回前两个月的日期
9. datediff 返回跨两个指定日期的日期和时间边界数。
select datediff(day,'2004-09-01','2004-09-18') --返回天数:17
select DateDiff(s,'2005-07-20','2005-7-25 22:56:32') --返回值为 514592 秒
select DateDiff(ms,'2005-07-20','2005-7-25 22:56:32') --返回值为 微秒