白雨青工作站发文地址:http://www.byqws.com/blog/1044.html

一、dateadd 函数的使用

dateadd() 函数在日期中添加或减去指定的时间间隔。

dateadd(datepart,number,date)

date 参数是合法的日期表达式。number 是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。

举例如下:

1、当前时间的一年前,当前时间,一年后

select '一年前' type,dateadd(year, -1, GETDATE()) time
union all
select '当前时间' type,GETDATE() time
union all
select '一年后' type,dateadd(year, 1, GETDATE()) time

2、当前时间的一月前,当前时间,一月后

select '一月前' type,dateadd(month, -1, GETDATE()) time
union all
select '当前时间' type,GETDATE() time
union all
select '一月后' type,dateadd(month, 1, GETDATE()) time

3、当前时间的一天前,当前时间,一天后

select '一天前' type,dateadd(day, -1, GETDATE()) time
union all
select '当前时间' type,GETDATE() time
union all
select '一天后' type,dateadd(day, 1, GETDATE()) time

4、当前时间的一周前,当前时间,一周后

select '一周前' type,dateadd(week, -1, GETDATE()) time
union all
select '当前时间' type,GETDATE() time
union all
select '一周后' type,dateadd(week, 1, GETDATE()) time

5、当前时间的一小时前,当前时间,一小时后

select '一小时前' type,dateadd(hour, -1, GETDATE()) time
union all
select '当前时间' type,GETDATE() time
union all
select '一小时后' type,dateadd(hour, 1, GETDATE()) time

6、当前时间的一分钟前,当前时间,一分钟后

select '一分钟前' type,dateadd(minute, -1, GETDATE()) time
union all
select '当前时间' type,GETDATE() time
union all
select '一分钟后' type,dateadd(minute, 1, GETDATE()) time

7、当前时间的一秒前,当前时间,一秒后

select '一秒前' type,dateadd(second, -1, GETDATE()) time
union all
select '当前时间' type,GETDATE() time
union all
select '一秒后' type,dateadd(second, 1, GETDATE()) time

二、datediff 函数的使用

datediff() 函数返回两个日期之间的间隔,默认是间隔天数

datediff(datepart, date1,date2)

date1:开始时间;date2:结束时间

举例如下:

select dateadd(year, -1, GETDATE()) 开始日期,GETDATE() 结束日期,'前后2个时间相差' + convert(varchar(1),datediff(year, dateadd(year, -1, GETDATE()),GETDATE()))+ '年' type
union all
select dateadd(year, -1, GETDATE()) 开始日期,GETDATE() 结束日期,'前后2个时间相差' + convert(varchar(10),datediff(month, dateadd(year, -1, GETDATE()),GETDATE()))+ '月' type
union all
select dateadd(year, -1, GETDATE()) 开始日期,GETDATE() 结束日期,'前后2个时间相差' + convert(varchar(10),datediff(day, dateadd(year, -1, GETDATE()),GETDATE()))+ '天' type

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐