一、Datediff函数
Datediff函数可以计算两个日期之间的时间差。它接受三个参数,分别是时间单位、开始日期和结束日期。例如,要计算两个日期之间相差的天数:
SELECT DATEDIFF(day, '2022-01-01', '2022-01-03') AS DayDiff;
这条SQL语句的执行结果为2,即2022年1月3日距离2022年1月1日相差两天。
除了day单位,Datediff函数还支持其他时间单位,如week、month、year等。这些时间单位可以让我们计算不同粒度的时间差。
二、Datepart函数
Datepart函数可以从一个日期或时间值中提取指定的部分,如年、月、日、小时、分钟等等。例如,要从一个日期中提取它的月份:
SELECT DATEPART(month, '2022-01-01') AS Month;
这条SQL语句的执行结果为1,即2022年1月份的月份是1。
借助Datepart函数,我们可以计算两个日期之间的时间差,如计算相差的月份、小时、分钟等等。
三、Timediff函数
Timediff函数可以计算两个时间之间的时间差。它接受两个时间参数,分别是开始时间和结束时间。例如,要计算两个时间之间相差的小时数:
SELECT TIMEDIFF('12:00:00', '10:30:00') AS HourDiff;
这条SQL语句的执行结果为1小时30分钟,即12点减去10点半相差1小时30分钟。
四、Timestampdiff函数
Timestampdiff函数可以计算两个日期或时间之间的时间差。它接受三个参数,分别是时间单位、开始日期或时间、结束日期或时间。例如,要计算两个日期之间相差的小时数:
SELECT TIMESTAMPDIFF(hour, '2022-01-01 12:00:00', '2022-01-01 13:30:00') AS HourDiff;
这条SQL语句的执行结果为1,即2022年1月1日下午1点30分距离上午12点相差1小时。
五、Dateadd函数
Dateadd函数可以对日期或时间进行加法运算,从而得到一个新的日期或时间值。它接受三个参数,分别是时间单位、时间间隔和日期或时间值。例如,要在一个日期上加上10天:
SELECT DATEADD(day, 10, '2022-01-01') AS NewDate;
这条SQL语句的执行结果为2022年1月11日,即2022年1月1日加上10天。
除了day单位,Dateadd函数还支持其他时间单位,如week、month、year等。这些时间单位可以让我们进行更灵活的日期和时间计算。