白雨青工作站发文地址:SQlServer的日期相减(间隔)dateadd,datediff函数白雨青工作站一、dateadd函数的使用 dateadd()函数在日期中添加或减去指定的时间间隔。dateadd(datepart,number,date) date参数是合法的日期表达式。number是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。 举例如下:1、当前时间的一年前,当前时间,一年后select一年前type,dateadd(year,1,GETDATE())timeunionallselect当前时间type,GETDATE()timeunionallselect一年后type,dateadd(year,1,GETDATE())time 2、当前时间的一月前,当前时间,一月后select一月前type,dateadd(month,1,GETDATE())timeunionallselect当前时间type,GETDATE()timeunionallselect一月后type,dateadd(month,1,GETDATE())time 3、当前时间的一天前,当前时间,一天后select一天前type,dateadd(day,1,GETDATE())timeunionallselect当前时间type,GETDATE()timeunionallselect一天后type,dateadd(day,1,GETDATE())time 4、当前时间的一周前,当前时间,一周后select一周前type,dateadd(week,1,GETDATE())timeunionallselect当前时间type,GETDATE()timeunionallselect一周后type,dateadd(week,1,GETDATE())time 5、当前时间的一小时前,当前时间,一小时后select一小时前type,dateadd(hour,1,GETDATE())timeunionallselect当前时间type,GETDATE()timeunionallselect一小时后type,dateadd(hour,1,GETDATE())time 6、当前时间的一分钟前,当前时间,一分钟后select一分钟前type,dateadd(minute,1,GETDATE())timeunionallselect当前时间type,GETDATE()timeunionallselect一分钟后type,dateadd(minute,1,GETDATE())time 7、当前时间的一秒前,当前时间,一秒后select一秒前type,dateadd(second,1,GETDATE())timeunionallselect当前时间type,GETDATE()timeunionallselect一秒后type,dateadd(second,1,GETDATE())time 二、datediff函数的使用 datediff()函数返回两个日期之间的间隔,默认是间隔天数datediff(datepart,date1,date2) date1:开始时间;date2:结束时间 举例如下:selectdateadd(year,1,GETDATE())开始日期,GETDATE()结束日期,前后2个时间相差convert(varchar(1),datediff(year,dateadd(year,1,GETDATE()),GETDATE()))年typeunionallselectdateadd(year,1,GETDATE())开始日期,GETDATE()结束日期,前后2个时间相差convert(varchar(10),datediff(month,dateadd(year,1,GETDATE()),GETDATE()))月typeunionallselectdateadd(year,1,GETDATE())开始日期,GETDATE()结束日期,前后2个时间相差convert(varchar(10),datediff(day,dateadd(year,1,GETDATE()),GETDATE()))天type