一、时间计算
select
GetDate() '当前时间', --2022-11-23 10:42:09.947
DATEADD(yy,-1,GetDate()) '1年前', --2021-11-23 10:42:09.947
DATEADD(yy,1,GetDate()) '1年后', --2023-11-23 10:42:09.947
DATEADD(mm,-2,GetDate()) '2月前', --2022-09-23 10:42:09.947
DATEADD(mm,2,GetDate()) '2月后', --2023-01-23 10:42:09.947
DATEADD(hh,-3,GetDate()) '3小时前', --2022-11-23 07:42:09.947
DATEADD(hh,3,GetDate()) '3小时后', --2022-11-23 13:42:09.947
DATEADD(minute,-5,GetDate()) '5分钟前', --2022-11-23 10:37:09.947
DATEADD(minute,5,GetDate()) '5分钟后', --2022-11-23 10:47:09.947
DATEADD(ss,-10,GetDate()) '10秒前', --2022-11-23 10:41:59.947
DATEADD(ss,10,GetDate()) '10秒后' --2022-11-23 10:42:19.947
结果:
二、获取整点时间
select
GetDate() '当前时间', --2022-11-23 10:42:09.947
Convert(Char(14),GetDate(),120)+'00:00.000' '整点时间', --2022-11-23 10:00:00.000
Convert(Char(17),GetDate(),120)+'00.000' '整分时间' --2022-11-23 10:42:00.000
结果:
三、获取年月日、时分秒
select
GetDate() '当前时间', --2022-11-23 10:42:09.947
DATEPART(year,GETDATE()) '年', --2022
DATEPART(MONTH ,GETDATE()) '月', --11
DATEPART(day ,GETDATE()) '日', --23
DATEPART(hour ,GETDATE()) '时', --10
DATEPART(MINUTE ,GETDATE()) '分', --42
DATEPART(SECOND ,GETDATE()) '秒' --9
结果:
四、计算两个日期之间相差多少年月日、时分秒
select
DATEDIFF(yy,'2018-06-20','2022-11-25') '相差多少年',
DATEDIFF(mm,'2022-06-20','2022-11-25') '相差多少月',
DATEDIFF(dd,'2022-11-23','2022-11-25') '相差多少日',
DATEDIFF(hh,'2022-11-25 08:00','2022-11-25 10:30') '相差多少小时',
DATEDIFF(MINUTE,'2022-11-25 10:00','2022-11-25 10:30') '相差多少分',
DATEDIFF(ss,'2022-11-25 10:25:20','2022-11-25 10:30:30') '相差多少秒'
结果: